作者GALINE (星光灿烂小天竹)
看板GameDesign
标题Re: [求救]关於远近的演算法
时间Fri Apr 4 01:15:16 2008
是个单点透视...
用这张图来说的话
http://img394.imageshack.us/my.php?image=13872984bo1.gif
1.A点是透视点,相当於无限远处
2.物体在投影图上的长度跟距离成反比
3.线段HJ距离观察者为K单位距离
如果EG跟观察者距离为r,且在空间中的长度跟HJ一样,那由上列2跟3可以知道EG
的投影长度为1/r。HJ:EG = r:K
由於三角形AHI跟AEF相似,所以HJ:EG = AI:AF = r:K
=> AF = K * AI / r
AI跟K是事先决定好的常数,R又是已知的数字,这样就能算出EG到A点的距离AF
总而言之,你把透视点(A)到基准面(HJ)的距离拿去除物件(EG)跟观察者的距离(r),就
是绘图的时候物件跟透视点的距离(AF)。这个距离可以乘一个常数(K)来做Baising。
-
刚刚想的,不保证正确性
如果很要求比例大小的正确性,建议查一下单点透视相关的计算以免我出包 XD
--
「是大环境要求的~毕竟没有总受就没有故事~╮(╯_╰)╭」
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.62.112.152
※ 编辑: GALINE 来自: 61.62.112.152 (04/04 01:21)
1F:推 KanoLoa:真是太感谢了!!! 不过图有两个J ..XD" 04/04 02:58
2F:推 KanoLoa:囧,经过实测,HJ:EG = AI:AF没问题,但是!= r:K OTL 04/04 16:07