vex: quaternion function test case - miyagiA/MyLearningNote GitHub Wiki
※need input Box
eulertoquaternion_to_qrotate
//This means the same value as "transform" node "rotation".
v@rot=chv("rot");
v@rotR=radians(v@rot);
//Get a quaternion with two inputs.
//The input is the rotation value in radians and the calculation order of the axes
//vector4 eulertoquaternion(vector rotations, int order)
vector4 quat = eulertoquaternion(v@rotR,XFORM_XYZ);
//Returns the vector 2rdInput rotated by the given quaternion .
//vector4 eulertoquaternion(vector rotations, int order)
v@P=qrotate(quat,@P);
eulertoquaternion_to_qrotate_obj_center
//This means the same value as "transform" node "rotation".
v@rot=chv("rot");
v@rotR=radians(v@rot);
//Get a quaternion with two inputs.
//The input is the rotation value in radians and the calculation order of the axes
//vector4 eulertoquaternion(vector rotations, int order)
vector4 quat = eulertoquaternion(v@rotR,XFORM_XYZ);
vector cent=getbbox_center(0);
//Returns the vector 2rdInput rotated by the given quaternion .
//vector4 eulertoquaternion(vector rotations, int order)
v@P=qrotate(quat,@P-cent);
rotation_xyz_for_each_axis
//This means the same value as "transform" node "rotation".
v@rot=chv("rot");
v@rotR=radians(v@rot);
vector axX=set(1,0,0);
vector axY=set(0,1,0);
vector axZ={0,0,1};
//vector4 quaternion(float angle, vector axis)
vector4 quat =quaternion(radians([email protected]),axX);
v@P=qrotate(quat,@P);
quat =quaternion(radians([email protected]),axY);
v@P=qrotate(quat,@P);
quat =quaternion(radians([email protected]),axZ);
v@P=qrotate(quat,@P);
rotation_xyz_for_each_axis
//This means the same value as "transform" node "rotation".
v@rot=chv("rot");
v@rotR=radians(v@rot);
vector axX=set(1,0,0);
vector axY=set(0,1,0);
vector axZ={0,0,1};
//vector4 quaternion(float angle, vector axis)
vector4 quat =quaternion(radians([email protected]),axX);
v@P=qrotate(quat,@P);
quat =quaternion(radians([email protected]),axY);
v@P=qrotate(quat,@P);
quat =quaternion(radians([email protected]),axZ);
v@P=qrotate(quat,@P);
vector4 quaternion(vector angleaxis)
※★ I can not understand....2022.12.04
//This means the same value as "transform" node "rotation".
v@rot=chv("rot");
v@rotR=radians(v@rot);
vector angleaxis= v@rotR*radians(chv("degree"));
//vector4 quaternion(vector angleaxis)
//★ I can not understand....2022.12.04
vector4 quat =quaternion(angleaxis);
v@P=qrotate(quat,@P);
vector4 quatN = eulertoquaternion(v@rotR,XFORM_XYZ);
v@N=qrotate(quatN,@N);