二维正交投影

时间:2013-01-11 01:54:57

标签: 3d projection orthographic orthogonal

如何使用非基数向量将三维点(x1,y1,z1 ...)正交投影到二维空间(x1,y1 ...)以表示要折叠的轴?我环顾四周,找不到令人满意的答案,我的线性数学手册只有投影到平面部分,而不是投影到2D空间,许多处理投影的答案是透视或基本轴,我需要的原因这是计算坠落身体的空气阻力,我的矢量是身体的速度。

1 个答案:

答案 0 :(得分:2)

诀窍是使用一个基数向量,因为它可以做到这一点。大多数3D软件包背后的想法是摄像机总是朝向基本方向(通常为-z)。世界变得与相机相匹配。

那你如何处理非基本指示呢?你以同样的方式处理它们,除了你将世界变成你的相机基本空间。所以你要做的是为平面形成一个矩阵,正负为z。 Y轴和x轴是彼此和z的任意正交单位矢量。然后通过逆矩阵将体转换为相机空间的基本空间。最终结果是一个对齐的3d空间,以便读取前2个坐标产生你的答案,如果是透视,你仍然需要用w值来划分点。

我制作的一个旧视频示例,可视化所有透视步骤,可以是found here (2.5M Quicktime movie)

从本质上讲,这只是一个选择你认为好的参考框架的问题。同样的计算你只是错过了具有层次转换链的非显而易见的部分。