Wzc(讨论 | 贡献)2020年5月18日 (一) 10:09的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
Template:Needs Translation/
函数名
|
Function: rotation llAxisAngle2Rot( vector axis, float angle );
|
返回绕轴生成的角度的旋转
|
•矢量轴
•浮动角度-以弧度表示。
轴不需要标准化,只有方向是重要的。
角度必须介于0<angle<PI(高于PI的值会导致2*PI角度)之间,因为旋转不是真正的旋转(更像是刚性运动/镜像),最终目的地是旋转。(换句话说:不管你是向左旋转90度还是向右旋转270度,它都会返回相同的旋转)
|
示例
|
default
{
state_entry()
{
vector axis = <0.0, 0.0, 1.0>;
float angle = 90.0 * DEG_TO_RAD;
rotation rot = llAxisAngle2Rot(axis, angle);
vector euler = llRot2Euler(rot) * RAD_TO_DEG;
llOwnerSay((string) euler);
//Says <0.0, 0.0, 90.0> since it is rotating 90 degrees on the Z axis caused by the 1.0 placed in the Z vector spot.
}
}
|
相关事件
|
rotation llAxisAngle2Rot( vector axis, float angle )
{
axis = llVecNorm( axis ) * llSin( angle/2 );
return <axis.x, axis.y, axis.z, llCos( angle/2 )>;
}
|