public quaternion get_rotateAroundAxe(quaternion Q, double f) { quaternion t = new quaternion(Q.ort(), f / 2); quaternion QQ = this; QQ = t * QQ * t.conj(); return(QQ); }
public quaternion set_rotateAroundAxe(quaternion Q, double f) { quaternion t = new quaternion(Q.ort(), f / 2); quaternion QQ = this; QQ = t * QQ * t.conj(); this.q[0] = QQ.q[0]; this.q[1] = QQ.q[1]; this.q[2] = QQ.q[2]; this.q[3] = QQ.q[3]; return(this); }