예제 #1
0
    def canonize(self):
        """Makes the quaternion canonic.

        Examples
        --------
        >>> from compas.geometry import Frame
        >>> q = Quaternion.from_frame(Frame.worldZX())
        >>> q
        Quaternion(-0.500, 0.500, 0.500, 0.500)
        >>> q.canonize()
        >>> q
        Quaternion(0.500, -0.500, -0.500, -0.500)
        """
        qc = quaternion_canonize(self)
        self.w, self.x, self.y, self.z = qc
예제 #2
0
    def canonized(self):
        """Returns a quaternion in canonic form.

        Returns
        -------
        :class:`compas.geometry.Quaternion`
            A quaternion in canonic form.

        Examples
        --------
        >>> from compas.geometry import Frame
        >>> q = Quaternion.from_frame(Frame.worldZX())
        >>> q
        Quaternion(-0.500, 0.500, 0.500, 0.500)
        >>> p = q.canonized()
        >>> p
        Quaternion(0.500, -0.500, -0.500, -0.500)
        """
        qc = quaternion_canonize(self)
        return Quaternion(*qc)
예제 #3
0
 def canonized(self):
     """Returns a :obj:`Quaternion` in a canonic form.
     """
     qc = quaternion_canonize(self)
     return Quaternion(*qc)
예제 #4
0
 def canonize(self):
     """Makes the quaternion canonic.
     """
     qc = quaternion_canonize(self)
     self.w, self.x, self.y, self.z = qc