Experimental rotation conversion
This commit is contained in:
parent
6abc7338e2
commit
a18c90d7c3
@ -542,7 +542,7 @@ def ConvertFlashRotation(rotY, rotZ, X, Y, FOV=math.tan(2*math.pi/9.0)):
|
|||||||
Y = 2*Y-1
|
Y = 2*Y-1
|
||||||
rotY = WrapAngle(rotY)
|
rotY = WrapAngle(rotY)
|
||||||
rotZ = WrapAngle(rotZ)
|
rotZ = WrapAngle(rotZ)
|
||||||
if rotY in (0, 180) or rotZ in (0, 180):
|
if rotY == 0 or rotZ == 0:
|
||||||
outX = 0
|
outX = 0
|
||||||
outY = -rotY # Positive value means clockwise in Flash
|
outY = -rotY # Positive value means clockwise in Flash
|
||||||
outZ = -rotZ
|
outZ = -rotZ
|
||||||
@ -551,19 +551,7 @@ def ConvertFlashRotation(rotY, rotZ, X, Y, FOV=math.tan(2*math.pi/9.0)):
|
|||||||
rotZ = rotZ*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
|
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
|
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
|
outX = math.asin(math.sin(rotY)*math.sin(rotZ))*180/math.pi
|
||||||
outX = math.acos(math.cos(rotY)/math.cos(outY*math.pi/180.0))*180/math.pi
|
|
||||||
#outX = math.atan2(-math.sin(rotY)*math.cos(rotZ)*abs(math.cos(outY*math.pi/180.0)*(1 if math.sin(outY*math.pi/180.0) >= 0 else -1)), math.cos(rotY)*abs(math.sin(outY*math.pi/180.0)*(1 if math.cos(outY*math.pi/180.0) >= 0 else -1)))*180/math.pi
|
|
||||||
'''
|
|
||||||
print(
|
|
||||||
(rotY*180.0/math.pi, rotZ*180.0/math.pi),
|
|
||||||
(outX, outY, outZ),
|
|
||||||
(
|
|
||||||
math.sin(rotY)*math.sin(rotZ),
|
|
||||||
-(math.sin(rotY)+math.sin(outY*math.pi/180.0)*math.cos(outZ*math.pi/180.0))/math.cos(outY*math.pi/180.0)/math.sin(outZ*math.pi/180.0)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
'''
|
|
||||||
if FOV is not None:
|
if FOV is not None:
|
||||||
outX = CalcPerspectiveCorrection(outX, -Y, FOV*0.75)
|
outX = CalcPerspectiveCorrection(outX, -Y, FOV*0.75)
|
||||||
outY = CalcPerspectiveCorrection(outY, X, FOV)
|
outY = CalcPerspectiveCorrection(outY, X, FOV)
|
||||||
|
Loading…
Reference in New Issue
Block a user