我可以通过简单地将 Z 设置为 0 来将矩形投影到 2D 吗?
Can I project a rectangle to 2D by simply setting Z to 0?
我有一个 3D 矩形 space 我需要将其投影到屏幕上的 2D。
相机是正交的,所以我想 - 我可以将矩形的 4 个点的 Z 坐标设置为 0,这样它们就会在屏幕上飞溅吗?
例如,当我在 Y 轴上旋转一个矩形时,由于相机是正交的 - 我看到的只是我前面的矩形变窄,因为 X 和 Y 分量正在改变(连同 Z组件)。
但是如果我将 Z 设置为 0 而保留 X 和 Y,它在正交相机上看起来还是一样的。
问题是 - 这是一种可行的方法吗?是否存在中断的情况?
是的,要在 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)
我有一个 3D 矩形 space 我需要将其投影到屏幕上的 2D。 相机是正交的,所以我想 - 我可以将矩形的 4 个点的 Z 坐标设置为 0,这样它们就会在屏幕上飞溅吗?
例如,当我在 Y 轴上旋转一个矩形时,由于相机是正交的 - 我看到的只是我前面的矩形变窄,因为 X 和 Y 分量正在改变(连同 Z组件)。
但是如果我将 Z 设置为 0 而保留 X 和 Y,它在正交相机上看起来还是一样的。
问题是 - 这是一种可行的方法吗?是否存在中断的情况?
是的,要在 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)