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)))); }