18 lines
580 B
Python
18 lines
580 B
Python
from .Direction import Direction
|
|
from .Quaternion import Quaternion
|
|
|
|
class SwingTwist:
|
|
def __init__(self, swing: Direction, twist: float):
|
|
if swing.vertical > 90 or swing.vertical < -90:
|
|
swing.horizontal += 180
|
|
swing.vertical = 180 - swing.vertical
|
|
twist += 180
|
|
|
|
self.swing = swing
|
|
self.twist = twist
|
|
|
|
def ToQuaternion(self) -> Quaternion:
|
|
q = Quaternion.Euler(-self.swing.vertical,
|
|
self.swing.horizontal,
|
|
self.twist)
|
|
return q |