; source: b_euler.spi Bimal Rath Jan 2002
; Purpose: make a model of axis for showing euler rotations
;
; make a 1st model volume with XYZ axes at the center. these axes are of
; different length and diameter
MO 3
_1
125,125
125
C
0
X
1,100
63,63
63,255
Y
2,76
63,63
63,255
Z
3,54
63,63
63,255
Q
; make a 2nd model volume with Y axis at the center.
MO 3
_2
125,125
125
C
0
Y
1,120
63,63
63,255
Q
; Make a 3rd model volume with Z axis at the center.
MO 3
_3
125,125
125
C
0
Z
1,120
63,63
63,255
Q
; add a z-axis to the 1st model volume
AD
_1
_3
_4
*
; save a copy of the 1st model volume with Z-axis
CP
_4
vol_z_000
; rotate around z-axis for 40 degrees in 10 steps. output from 1st
; step is fed as input for the 2nd step
x10 = 4
x11 = 0
x12 = 0
DO LB1 I =1,10
RT 3D
_4
vol_z_{***x0}
x10,x11
x12
FS
vol_z_{***x0}
CP
vol_z_{***x0}
_4
LB1
; Rotate the 1st model volume by 40 degrees around the z-axis in one step
; This is equivalent to the output obtained in 10 steps in the above loop
RT 3D
_1
vol_z_100
40,x11
x12
; add a y-axis to the 1st model volume after being rotated by 40 degrees around
; z-axis
AD
vol_z_100
_2
_4
*
; rotate around y-axis for 50 degrees in 10 steps.
x10 = 0
x11 = 5
x12 = 0
DO LB2 I =1,10
RT 3D
_4
vol_y_{***x0}
x10,x11
x12
FS
vol_y_{***x0}
CP
vol_y_{***x0}
_4
LB2
; ROtate the 1st model volume by 40 degrees around the z-axis and 50 degrees
; around y-axis in one step. This is equivalent to the output obtained in
; 20 steps in the above 2 loops
RT 3D
_1
vol_y_100
40,50
x12
; add a z-axis to the 1st model volume after being rotated by 40 degrees around
; z-axis and 50 degrees around y-axis
AD
vol_y_100
_3
_4
*
; Rotate around z-axis for 70 degrees in 10 steps
x10 = 0
x11 = 0
x12 = 7
DO LB3 I =1,10
RT 3D
_4
vol_zz_{***x0}
x10,x11
x12
FS
vol_zz_{***x0}
cp
vol_zz_{***x0}
_4
LB3
RE