在three.js中,Matrix3类实现了3x3矩阵的功能, extractBasis() 方法是其中的一个成员函数。此函数用于从3x3矩阵中提取出三个基向量,以表示对应矩阵所代表的空间的坐标系。
extractBasis(xAxis, yAxis, zAxis)
xAxis
: 一个 Vector3 实例,表示基向量中的 X 轴方向。yAxis
: 一个 Vector3 实例,表示基向量中的 Y 轴方向。zAxis
: 一个 Vector3 实例,表示基向量中的 Z 轴方向。该函数没有返回值。
const myAnisoMatrix = new THREE.Matrix3();
myAnisoMatrix.set(2, 0, 0, 0, 1, 0, 0, 0, 3); // 创建一个非均匀的矩阵
const myXAxis = new THREE.Vector3();
const myYAxis = new THREE.Vector3();
const myZAxis = new THREE.Vector3();
myAnisoMatrix.extractBasis(myXAxis, myYAxis, myZAxis); // 从矩阵中提取出基向量
上述代码将从myAnisoMatrix矩阵中提取出三个基向量,并存储在给定的 Vector3 实例 myXAxis、myYAxis 和 myZAxis 中。 在此例中,myXAxis 将为 (2, 0, 0)
,myYAxis 将为 (0, 1, 0)
,myZAxis 将为 (0, 0, 3)
。这三个基向量将表示 myAnisoMatrix 矩阵所代表的坐标系。
此方法将会修改提供的向量实例的计算,感应式矩阵会变成全都是0的矩阵。