public Quaternion fromAngleNormalAxis(float angle, Vector3f axis) {
        float halfAngle = 0.5f * angle;
        float sin = (float)Math.sin(halfAngle);
        w = (float)Math.cos(halfAngle);
        x = sin * axis.x;
        y = sin * axis.y;
        z = sin * axis.z;
        return this;
    }