作者yoco315 (眠月)
看板GameDesign
標題Re: [求救]關於遠近的演算法
時間Sat Apr 5 02:12:14 2008
※ 引述《KanoLoa (諾)》之銘言:
: 最近寫遊戲,需要將2D的圖片模擬成有遠近之分的效果。
: 我在定位座標位置的時候遇到了很大的困難 /_\
我之前時候要寫 3D 引擎,
也是遇到算座標的問題,
你跟我高中的時候走的路一樣 XD
一開始的想法就是用上面那種對角線去切,
我的建議是你要忘記這個想法 :D
因為那只是投射(project)的結果,而不是原理。
原理的話,我有個比較容易想像的建議,
你應該想像自己站在室內的一扇開空的窗戶前面,
面對著室外,往外看,外面是一個花園,
然後室外的景色就會呈現在你的眼裡。
你現在在窗戶上加上一片薄薄的毛玻璃,
然後,你想像一下,窗外那片草地上,有一朵花佇立著,
光線從天上打下來,打到那朵花,然後反射到你眼裡,
反射的那條光線,從花到你眼睛的直線,會經過窗戶上的毛玻璃,
你要想像那條光線是怎麼走的,他會落在(投射)毛玻璃上面的哪一個點?
事實上這個毛玻璃就是你的電腦螢幕。
你可以透過簡單的空間幾何把這個點的座標求出來。
你應該會發現這個點的座標跟你眼睛跟窗戶的相對距離有關,
這個距離會影響你的「視角」有多大,
你應該先決定你的視角要多大(比方說60度),然後定下這個參數。
你可以簡單的解出關係式,之後就都是簡單的事情了。
我本來想畫圖的,但是發現用滑鼠好難喔,所以偷懶 XD
希望你看到的懂我在講啥。
--
To iterate is human, to recurse is divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.203.59
推 KanoLoa:@_@ 感謝意見, 但是這好像是極座標換算 04/05 02:31
→ KanoLoa:我到現在還是抓不太準原理的計算,繼續苦思,感謝XD 04/05 02:32
推 NDark:原理就是電腦圖學.基礎部份認真起來一個學期可以上滿的課. 04/06 14:56
→ NDark:不過既然應用只到如此,套用傳統繪圖的透視也許就可以解了 04/06 14:57
→ NDark:如果有必要實現真實的三維世界,使用一個3D引擎是很方便的. 04/06 15:01
→ NDark:要偽造一個看起來像的三維世界倒是不用太精準 04/06 15:03
推 sunneo:XDDD 我高中的時候也嘗試用對角來作 就想到所有的點... 04/09 21:52
→ sunneo:那是相當沒效率的 04/09 21:52
→ sunneo:透過距離關係式算每一點應該有的角度 到我的view的角度.. 04/09 21:52
→ KanoLoa:XD" 我現在是用等比級數換算距離,也是沒效率 04/20 03:16