作者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
1F:推 KanoLoa:@_@ 感谢意见, 但是这好像是极座标换算 04/05 02:31
2F:→ KanoLoa:我到现在还是抓不太准原理的计算,继续苦思,感谢XD 04/05 02:32
3F:推 NDark:原理就是电脑图学.基础部份认真起来一个学期可以上满的课. 04/06 14:56
4F:→ NDark:不过既然应用只到如此,套用传统绘图的透视也许就可以解了 04/06 14:57
5F:→ NDark:如果有必要实现真实的三维世界,使用一个3D引擎是很方便的. 04/06 15:01
6F:→ NDark:要伪造一个看起来像的三维世界倒是不用太精准 04/06 15:03
7F:推 sunneo:XDDD 我高中的时候也尝试用对角来作 就想到所有的点... 04/09 21:52
8F:→ sunneo:那是相当没效率的 04/09 21:52
9F:→ sunneo:透过距离关系式算每一点应该有的角度 到我的view的角度.. 04/09 21:52
10F:→ KanoLoa:XD" 我现在是用等比级数换算距离,也是没效率 04/20 03:16