private static Quaternion spline(Quaternion qnm1, Quaternion qn, Quaternion qnp1, Quaternion store, Quaternion tmp) {
        Quaternion invQn = new Quaternion(-qn.x, -qn.y, -qn.z, qn.w);

        log(invQn.mult(qnp1), tmp);
        log(invQn.mult(qnm1), store);
        store.addLocal(tmp).multLocal(-1f / 4f);
        exp(store, tmp);
        store.set(qn).multLocal(tmp);

        return store.normalizeLocal();
        //return qn * (((qni * qnm1).log() + (qni * qnp1).log()) / -4).exp();
    }
Interpolate between 2 quaternions using Slerp.

@param q1 the desired value for t=0
@param q2 the desired value for t=1
@param t the fractional parameter (&ge;0, &le;1)
@param store storage for the result (not null, modified)
@return the interpolated Quaternion (store)
jme3-core/src/main/java/com/jme3/math/MathUtils.java