Pass rotation angles directly when rotY or rotZ equals to 0 or 180 degrees
This commit is contained in:
parent
f95697edd8
commit
4f451da99b
@ -538,8 +538,13 @@ def ConvertFlashRotation(rotY, rotZ, X, Y, FOV=math.tan(2*math.pi/9.0)):
|
||||
return WrapAngle(theta)
|
||||
X = 2*X-1
|
||||
Y = 2*Y-1
|
||||
rotY = -rotY*math.pi/180.0 # Positive value means clockwise in Flas
|
||||
rotZ = -rotZ*math.pi/180.0
|
||||
if WrapAngle(rotY) in (0, 180) or WrapAngle(rotZ) in (0, 180):
|
||||
outX = 0
|
||||
outY = -rotY # Positive value means clockwise in Flash
|
||||
outZ = -rotZ
|
||||
else:
|
||||
rotY = rotY*math.pi/180.0
|
||||
rotZ = rotZ*math.pi/180.0
|
||||
outY = math.atan2(-math.sin(rotY)*math.cos(rotZ), math.cos(rotY))*180/math.pi
|
||||
outZ = math.atan2(-math.cos(rotY)*math.sin(rotZ), math.cos(rotZ))*180/math.pi
|
||||
outX = math.asin(-math.sin(rotY)*math.sin(rotZ))*180/math.pi
|
||||
|
Loading…
Reference in New Issue
Block a user