作者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)
推 KanoLoa:真是太感謝了!!! 不過圖有兩個J ..XD" 04/04 02:58
推 KanoLoa:囧,經過實測,HJ:EG = AI:AF沒問題,但是!= r:K OTL 04/04 16:07