#----------------------------------------- # Extraction des angles d'Euler de la Matrice # de n'importe quel objet # jean-michel soler, 02/2002 # mailto: jmsoler@free.fr #----------------------------------------- import Blender from Blender import * import math from math import * def matrix2euler(m): mat=[] for i in range(4): for j in range(4): mat.append(m.mat[i][j]) Ang_y=-math.asin(mat[2]/m.SizeX) C=math.cos(Ang_y) if (math.fabs(Ang_y)>0.0005): print math.fabs(Ang_y) trx=mat[10]/C/m.SizeZ tr_y=mat[6]/C/m.SizeY Ang_x=math.atan2(tr_y,trx) trx=mat[0]/C/m.SizeX tr_y=mat[1]/C/m.SizeX Ang_z=math.atan2(tr_y,trx) else: Ang_x=0.0 trx=mat[5]/m.SizeY tr_y=-mat[4]/m.SizeY Ang_z=math.atan2(tr_y,trx) return Ang_x,Ang_y,Ang_z m=Object.Get('Plane') m1=Object.Get('Plane.001') x,y,z=matrix2euler(m) print x*180/pi,y*180/pi,z*180/pi m1.rot=[x,y,z] Redraw()