![]() |
1
2
我觉得这很合理。以下是如何获得 rotation matrix from normal vector . 法向是向量。角度为0。你可能想要反转。
你的网格是三角形的吗?我想是的。如果是这样,你可以这样做,不需要旋转矩阵。让脸上的点
|
![]() |
2
1
您正确地创建了m矩阵。这是对应于法向量的旋转。你可以用这个矩阵的逆矩阵来“解算”你的点。正常的
我不知道您正在使用的库(处理),所以我只是假设有m.invert()的方法和将旋转矩阵应用于点的运算符。它们当然可以被称为其他东西。幸运的是,纯旋转矩阵的逆矩阵是它的转置,如果需要的话,可以直接用手来乘以矩阵和向量。
|
![]() |
3
0
对于面v0-v1-v3-v2向量v3-v0、v3-v2和面法向已经形成旋转矩阵,将二维面转换为三维面。 矩阵表示坐标系。每行(或每列,取决于符号)对应于新坐标系中的轴坐标系。三维旋转/平移矩阵可以表示为:
其中vx是坐标系的x轴、vy-y轴、vz-z轴和新系统的vp-原点。 假设v3-v0是Y轴(第2行)、v3-v2-x轴(第1行)和法向z轴(第3行)。从中构建矩阵。然后反转矩阵。你将得到一个矩阵,它将把一个三维面旋转成二维面。
我怀疑 UV unwrapping algorithms 更接近你想要实现的,而不是试图从三维面得到旋转矩阵。 |
![]() |
4
0
这是很容易做到的:(注意:“面”是指“三角形”)。
其结果是将三维面投影到二维空间中,就好像在没有任何透视干扰的情况下正对着它们看一样。最终坐标将采用标准化屏幕坐标,其中(-1,-1)是左下角,(0,0)是中心,(1,1)是右上角。 |
![]() |
Jimmy Yang · 何时需要进行透视分割? 2 年前 |
![]() |
Max Mister · 使用鼠标事件计算相机的位置和旋转 6 年前 |
![]() |
Lane will · OpenGL选择区域 6 年前 |
![]() |
synchronizer · openGL 2D视差滚动纹理撕裂/接缝 6 年前 |
![]() |
Steven Venham · OpenGL单通道到多通道的可行性 6 年前 |
![]() |
Andrew Lundgren · 如何在OpenTK(迷你地图!) 6 年前 |
![]() |
Kevin Su · 无法在opengl中正确绘制我的汽车 6 年前 |
![]() |
user1832287 · 来自细分控制点的边上的瑕疵 6 年前 |