【发布时间】:2012-04-28 02:12:55
【问题描述】:
我一直在使用3D透视投影公式:
sx = wx*scale/wz
sy = wy*scale/wz
它可以投射一些东西,但是例如一个立方体看起来更像一个矩形棱柱并且真的被拉伸了。
看起来像这样:
我已经对它进行了研究,并在 stackoverflow 上查看了它的其他页面,但我真的不明白为什么它会延长它。
我还尝试了其他替代方法,例如将 z 值除以 2 或 4,或使用一些任意值使其看起来更像立方体,但对于更复杂的对象,它并不能真正起到作用。
感谢任何帮助。
谢谢。
【问题讨论】:
-
立方体的8个世界坐标是多少?你得到了什么作为屏幕坐标?
-
@SteveH 是的,我已经读过了。不久前我从另一个网站得到了公式。我刚决定重新开始做 3D 的东西。
-
@Alex 我没有做一个完整的立方体,只是三个面。立方体的坐标是:front = (5,5,5),(0,5,5),(0,10,5),(5,10,5),(5,5,5) right = (5,5,5),(5,5,10),(5,10,10),(5,10,5),(5,5,5) 左 = (0,5,5),( 0,5,10),(0,10,10),(0,10,5),(0,5,5)
-
我认为它离相机太近了,对于小的不同 z 来说,1/z 是非常不同的。把它移远一点。
标签: 3d projection cube perspective