Package DejaVu :: Module rotationMatrices
[hide private]
[frames] | no frames]

Source Code for Module DejaVu.rotationMatrices

 1  # 
 2  #  collection of standard 4x4 rotation matrices 
 3  #  about the X, Y and Z axis of 10, 30, 45, 90, 180 degrees 
 4  # 
 5  rotations = { 
 6  } 
 7   
 8  import math, Numeric 
 9  from mglutil.math.rotax import rotax 
10   
11  orig = Numeric.array( (0,0,0), 'f') 
12  X = Numeric.array( (1,0,0), 'f') 
13  Y = Numeric.array( (0,1,0), 'f') 
14  Z = Numeric.array( (0,0,1), 'f') 
15   
16  for angle in [1, 5, 10, 30, 45, 90, 180]: 
17      rotations['X'+str(angle)] = rotax( orig, X, angle*math.pi/180.) 
18      rotations['X-'+str(angle)] = rotax( orig, X, -angle*math.pi/180.) 
19   
20  for angle in [1, 5, 10, 30, 45, 90, 180]: 
21      rotations['Y'+str(angle)] = rotax( orig, Y, angle*math.pi/180.) 
22      rotations['Y-'+str(angle)] = rotax( orig, Y, -angle*math.pi/180.) 
23   
24  for angle in [1, 5, 10, 30, 45, 90, 180]: 
25      rotations['Z'+str(angle)] = rotax( orig, Z, angle*math.pi/180.) 
26      rotations['Z-'+str(angle)] = rotax( orig, Z, -angle*math.pi/180.) 
27