四元数
编辑教程四元数
四元数的实现。这是用来旋转的东西,而不遇到可怕的万向节锁问题,以及其他优点。
例子
var quaternion = new THREE.Quaternion();
quaternion.setFromAxisAngle( new THREE.Vector3( 0, 1, 0 ), Math.PI / 2 );
var vector = new THREE.Vector3( 1, 0, 0 );
vector.applyQuaternion( quaternion );
构造器
四元数(x:浮点,y:浮点,z:浮点,w:浮点)
x-x坐标
y-y坐标
z-z坐标
w-w坐标
属性
.Is四元数:布尔值
用于检查此类或派生类是否为四元数。默认值为true。
您不应更改此设置,因为它在内部用于优化。
.x:浮动
.y:浮动
.z:浮动
.w:浮动
方法
.angleTo(q:四元数):浮点
返回此四元数和四元数q之间的角度(以弧度为单位)。
.clone():四元数
创建具有与此四元数相同的x、y、z和w特性的新四元数。
.conjugate():四元数
返回此四元数的旋转共轭。四元数的共轭表示绕旋转轴在相反方向上的相同旋转。
.copy(q:四元数):四元数
将q的x、y、z和w属性复制到此四元数中。
.equals(v:四元数):布尔值
v-四元数将与之比较的四元数。
将v的x、y、z和w特性与此四元数的等效特性进行比较,以确定它们是否表示相同的旋转。
.dot(v:四元数):浮点
计算四元数v和这个的点积。
.fromArray(数组:数组,偏移量:整数):四元数
数组-用于构造四元数的格式数组(x,y,z,w)。
偏移量-(可选)数组中的偏移量。
从数组中设置此四元数的x、y、z和w特性。
.inverse():四元数
反转此四元数-计算共轭。假设四元数具有单位长度。
.length():浮点
计算此四元数的欧几里德长度(直线长度),视为四维向量。
.lengthSq():浮动
计算此四元数的欧几里德长度(直线长度),视为四维向量。如果要比较两个四元数的长度,这会很有用,因为这是比length()稍微更有效的计算。
.normalize():四元数
规格化此四元数-也就是说,计算执行与此四元数相同旋转,但长度等于1的四元数。
.multiply(q:四元数):四元数
将这个四元数乘以q。
.多个四元数(a:四元数,b:四元数):四元数
将此四元数设置为a x b。
改编自本文概述的方法。
.预乘(q:四元数):四元数
将此四元数预乘以q。
.rotateTowards(q:四元数,step:Float):四元数
目标四元数。
阶跃-以弧度表示的角阶跃。
将此四元数按给定的角度步进旋转到定义的四元数q。该方法确保最终四元数不会超出q。
.slerp(qb:四元数,t:浮点):四元数
qb-另一个四元数旋转
t—闭合区间内的插值因子[0,1]。
处理四元数之间的球形线性插值。t表示此四元数(其中t为0)与qb(t为1)之间的旋转量。将此四元数设置为结果。另请参阅下面的slerp静态版本。
// rotate a mesh towards a target quaternion
mesh.quaternion.slerp( endQuaternion, 0.01 );
.set(x:浮点,y:浮点,z:浮点,w:浮点):四元数
设置此四元数的x、y、z、w特性。
.setFromAxisAngle(轴:向量3,角度:浮点):四元数
从轴和角度指定的旋转设置此四元数。
改编自这里的方法。
假设轴是标准化的,角度以弧度为单位。
.setFromEuler(euler:euler):四元数
从Euler angle指定的旋转角度设置此四元数。
.setFromRotationMatrix(m:Matrix4):四元数
从m的旋转分量设置此四元数。
改编自这里的方法。
.setFromUnitVectors(vFrom:Vector3,vTo:Vector3):四元数
将此四元数设置为将方向向量vFrom旋转到方向向量vTo所需的旋转。
改编自这里的方法。
假设vFrom和vTo被规范化。
.toArray(数组:数组,偏移量:整数):数组
array—存储四元数的可选数组。如果未指定,将创建一个新数组。
偏移量-(可选)如果指定,结果将复制到此数组中。
以[x,y,z,w]格式的数组返回此四元数的数值元素。
静态方法
静态方法(与实例方法相反)设计为直接从类调用,而不是从特定实例调用。因此,要使用的静态版本,请按如下方式调用:
三.四元数.slerp(qStart,qEnd,qTarget,t);相比之下,称为“正常”或实例slerp
选择支付方式:
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间