transformDirection
方法旨在对传入的向量进行转换。转换结果是根据矩阵 M 乘以向量 V 的结果,即 M * V
。
vector3.transformDirection(matrix4)
matrix4
:Matrix4 类型,代表用于变换向量的矩阵。返回变换后的新向量,类型为 Vector3。
以下示例演示如何使用 transformDirection
方法:
// 创建一个向量
const myVector = new Yuka.Vector3(1, 2, 3);
// 创建一个变换矩阵
const myMatrix = new Yuka.Matrix4();
myMatrix.fromRotationAxis(new Yuka.Vector3(0,1,0), Math.PI * 0.5);
// 对向量进行变换
const transformedVector = myVector.transformDirection(myMatrix);
在此示例中,我们首先创建了一个向量 myVector
,其值为 (1,2,3)。我们还创建了一个变换矩阵 myMatrix
,对其进行了旋转变换(绕 y 轴旋转了90度)。我们然后通过在 myVector
上调用 transformDirection
方法并传入变换矩阵来实现向量的变换,结果被存储在 transformedVector
中。
transformDirection
方法并不修改原始向量,而是返回新的向量。transformDirection
方法只能用于变换方向向量,不能用于变换位置向量。如果要变换位置向量,请使用 transform
方法。