本文整理汇总了Python中quaternion.Quaternion.toPitchFromYUp方法的典型用法代码示例。如果您正苦于以下问题:Python Quaternion.toPitchFromYUp方法的具体用法?Python Quaternion.toPitchFromYUp怎么用?Python Quaternion.toPitchFromYUp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类quaternion.Quaternion
的用法示例。
在下文中一共展示了Quaternion.toPitchFromYUp方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: processTelemetryMsg
# 需要导入模块: from quaternion import Quaternion [as 别名]
# 或者: from quaternion.Quaternion import toPitchFromYUp [as 别名]
def processTelemetryMsg(self, msg):
# this version only creates a normalized message
if(msg.state & 1): # only process if coaster is in play
if(False):
# code here is non-normalized (real) translation and rotation messages
quat = Quaternion(msg.quatX,msg.quatY,msg.quatZ,msg.quatW)
pitch = degrees(quat.toPitchFromYUp())
yaw = degrees(quat.toYawFromYUp())
roll = degrees(quat.toRollFromYUp())
else: #normalize
quat = Quaternion(msg.quatX,msg.quatY,msg.quatZ,msg.quatW)
pitch = quat.toPitchFromYUp() / pi
yaw = quat.toYawFromYUp() / pi
roll = quat.toRollFromYUp() / pi
x = max(min(1.0, msg.gForceX),-1) # clamp the value
y = max(min(1.0, msg.gForceY),-1)
z = max(min(1.0, msg.gForceZ),-1)
data = [x,y,z,roll, pitch, yaw]
formattedData = [ '%.3f' % elem for elem in data ]
self.coaster_msg_q.put(formattedData)