void drawDualQuaternion(DualQuaternion q)
    {
        Vector3 x = Vector3.right * 5.0f;
        Vector3 y = Vector3.up * 5.0f;
        Vector3 z = Vector3.forward * 5.0f;
        Vector3 p = Vector3.zero;

        var x1 = q.transformPoint(x);
        var y1 = q.transformPoint(y);
        var z1 = q.transformPoint(z);
        var p1 = q.transformPoint(p);

        Gizmos.DrawLine(p1, x1);
        Gizmos.DrawLine(p1, y1);
        Gizmos.DrawLine(p1, z1);
    }