Mkx(讨论 | 贡献)2020年8月18日 (二) 01:07的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
Template:Needs Translation/
函数名
|
Function: vector llRot2Euler( rotation quat );
|
参数:• rotation quat - 任何有效的旋转
|
返回值:返回quat的欧拉表示(横摇、俯仰、偏航)向量,每个分量用弧度表示。
|
注意事项
|
大于弧度(180度)的角返回为负角。
Specification
欧拉角向量(用弧度表示)是通过绕Z、Y、X三个轴旋转来转换的。
|
示例
|
示例1
default
{
state_entry()
{
rotation input = llGetRot();
llSay(0, "The Rot2Euler of " + (string)input + " is: " + (string) llRot2Euler(input) );
}
}
//这个脚本在每次触摸prim时旋转该prim 15度
//虽然不是达到这个结果的最好方法,
//这个脚本演示了llRot2Euler和llEuler2Rot的使用
//以及使用更人性化的度数而不是弧度
default
{
touch_start(integer total_number)
{
//获取对象当前旋转的四分位数
rotation rot = llGetRot();
//将旋转转换为以弧度表示的滚、俯仰和偏航的欧拉
vector euler = llRot2Euler(rot);
// 把角度从弧度转换成角度
euler *= RAD_TO_DEG;
// 在Z轴上加上15度
euler += <0, 0, 15>;
// 用度表示当前的欧拉值
llSay(0, (string) euler);
// 把角度转换成弧度
euler *= DEG_TO_RAD;
// 将欧拉转换回旋转四分之一
rot = llEuler2Rot (euler);
// 对基本物体应用更新后的旋转
llSetRot( rot );
}
}
|