public Quat squad2(Quat q1, Quat q2, Quat q3, double t) { Quat s1 = this.quadrangle(q1, q2); Quat s2 = q2.quadrangle(this, q3); return new Quat(this.slerp(q2, t).slerp(s1.slerp(s2, t), (double) (2 * t * (1 - t)))); }
/** * kubicka interpolace pomoci kvaternionu * * @param q kvaternion * @param t vaha z intervalu <0;1> * @return nova instance Poin3D */ public Quat squad(Quat q, Quat q1, Quat q2, double t) { return new Quat(this.slerp(q, t).slerp(q1.slerp(q2, t), (double) (2 * t * (1 - t)))); }