我有从模型中读取的 3D 顶点,该模型的向上方向由单位向量u定义。我需要将所有这些顶点转换到另一个空间,该空间的向上方向由单位向量v定义。
我知道如果原始向上方向是 (0,1,0) 并且目标是 (1,0,0),我可以对所有点使用类似这样的旋转矩阵:
x' = x*cos(-90) - y*sin(-90) = y
y' = x*sin(-90) + y*cos(-90) = -x
z' = z
where -90 is the angle from (0,1,0) to (1,0,0).
...但到目前为止,我为开始提到的案例推广这种方法的尝试被证明是徒劳的。
任何建议如何解决这个问题?