La rotation en quatre dimensions dont vous parlez est probablement appelée quaternion. Quand on parle de tourner autour de chaque axe dans un espace 3D, on appelle les angles d'Euler. Wikipedia has page sur ces conversions, qui comprend cette source python:
class Quaternion_toEulerianAngle():
def __init__(self, x, y, z, w):
self.x = x
self.y = y
self.z = z
self.w = w
def X(self):
ysqr = self.y*self.y
t0 = +2.0 * (self.w * self.x + self.y*self.z)
t1 = +1.0 - 2.0 * (self.x*self.x + ysqr)
X = math.degrees(math.atan2(t0, t1))
return X
def Y(self):
ysqr = self.y*self.y
t2 = +2.0 * (self.w*self.y - self.z*self.x)
t2 = 1 if t2 > 1 else t2
t2 = -1 if t2 < -1 else t2
Y = math.degrees(math.asin(t2))
return Y
def Z(self):
ysqr = self.y*self.y
t3 = +2.0 * (self.w * self.z + self.x*self.y)
t4 = +1.0 - 2.0 * (ysqr + self.z*self.z)
Z = math.degrees(math.atan2(t3, t4))
return Z
Quatre dimensions? – Blaze349
@ Blaze349, vous n'avez pas tort ... – VortexYT