我想将我的多边形沿着一个向量投影到三维空间中的平面上。我希望使用单个转换矩阵来完成此操作,但是我不知道如何构建这种类型的矩阵。
已知:
- 平面的参数(ax+by+cz+d) - 我的多边形的世界坐标。正如标题中所述,我的多边形的所有顶点都位于另一个平面上。 - 沿着其投影我的多边形的方向向量(当前为多边形平面的法向量)
目标:
- 一个4x4的变换矩阵,可以执行所需的投影 - 或者一些关于如何自行构建矩阵的见解
更新:
感谢答案,它按预期工作。
对于找到这个问题的人,需要注意:如果投影平面的法线与投影向量平行,则分母D将变为(几乎)0,因此需要处理此特殊情况。我通过检查D < 1e-5,如果是,则沿着延伸向量转换我的多边形来解决这个问题。
已知:
- 平面的参数(ax+by+cz+d) - 我的多边形的世界坐标。正如标题中所述,我的多边形的所有顶点都位于另一个平面上。 - 沿着其投影我的多边形的方向向量(当前为多边形平面的法向量)
目标:
- 一个4x4的变换矩阵,可以执行所需的投影 - 或者一些关于如何自行构建矩阵的见解
更新:
感谢答案,它按预期工作。
对于找到这个问题的人,需要注意:如果投影平面的法线与投影向量平行,则分母D将变为(几乎)0,因此需要处理此特殊情况。我通过检查D < 1e-5,如果是,则沿着延伸向量转换我的多边形来解决这个问题。