我在3D空间中有一个矩形,我需要将其投影到2D到屏幕。 相机是正交的,所以我想 - 我可以将矩形的4个点的Z坐标设置为0,这样它们会在屏幕上啪啪吗?
例如,当我在Y轴上旋转一个矩形时,由于相机是正交的 - 我看到的是我前面的矩形越来越窄,因为X和Y分量正在被改变(连同Z分量)
但如果我将Z设置为0并保留X和Y,那么在正交相机上看起来仍然相同。
问题是 - 这是一种可行的方法吗?是否有破裂的情况?
答案 0 :(得分:1)
是的,要在OXY平面上构建正交投影,设置z = 0就足够了。
matrix is
(1 0 0 0)
(0 1 0 0)
(0 0 0 0)
(0 0 0 1)
当您围绕轴Y旋转以原点为中心的轴对齐矩形时,它的投影将改变宽度,但高度保持不变。
示例:右上角有坐标(1, 1, 0)
。在围绕Y轴旋转角度Fi后,它具有3d坐标(Cos(Fi), 1, Sin(Fi))
和屏幕坐标(Cos(Fi), 1)