(ax, ay, az)
return np.array([q0, q1, q2, q3])
Converts euler angles to a quaternion.

  Note: rotation order is zyx

  Args:
    ax: Roll angle (deg)
    ay: Pitch angle (deg).
    az: Yaw angle (deg).

  Returns:
    A numpy array representing the rotation as a quaternion.
Converts euler angles to a quaternion.
Converts euler angles to a quaternion .
def euler2quat(ax, ay, az):
  """Converts euler angles to a quaternion.

  Note: rotation order is zyx

  Args:
    ax: Roll angle (deg)
    ay: Pitch angle (deg).
    az: Yaw angle (deg).

  Returns:
    A numpy array representing the rotation as a quaternion.
  """
  r1 = az
  r2 = ay
  r3 = ax

  c1 = np.cos(np.deg2rad(r1 / 2))
  s1 = np.sin(np.deg2rad(r1 / 2))
  c2 = np.cos(np.deg2rad(r2 / 2))
  s2 = np.sin(np.deg2rad(r2 / 2))
  c3 = np.cos(np.deg2rad(r3 / 2))
  s3 = np.sin(np.deg2rad(r3 / 2))

  q0 = c1 * c2 * c3 + s1 * s2 * s3
  q1 = c1 * c2 * s3 - s1 * s2 * c3
  q2 = c1 * s2 * c3 + s1 * c2 * s3
  q3 = s1 * c2 * c3 - c1 * s2 * s3

  return np.array([q0, q1, q2, q3])
def euler2quat ( ax , ay , az ) : r1 = az r2 = ay r3 = ax c1 = np . cos ( np . deg2rad ( r1 / 2 ) ) s1 = np . sin ( np . deg2rad ( r1 / 2 ) ) c2 = np . cos ( np . deg2rad ( r2 / 2 ) ) s2 = np . sin ( np . deg2rad ( r2 / 2 ) ) c3 = np . cos ( np . deg2rad ( r3 / 2 ) ) s3 = np . sin ( np . deg2rad ( r3 / 2 ) ) q0 = c1 * c2 * c3 + s1 * s2 * s3 q1 = c1 * c2 * s3 - s1 * s2 * c3 q2 = c1 * s2 * c3 + s1 * c2 * s3 q3 = s1 * c2 * c3 - c1 * s2 * s3 return np . array ( [ q0 , q1 , q2 , q3 ] )