精華區beta GameDesign 關於我們 聯絡資訊
※ 引述《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