aUCBLogo Demos and Tests / nmr_praezession


to NMR_Praezession
   
perspective
   
enableCylinderLines
   
disableRoundLineEnds
   
setPS [5 5]
   
schwarz=RGB 0 0 0
   
setPC schwarz
   
axes 250
   
setPS [7 7]
   
blau=RGB 0 0 1
   
setPC blau
   
Pfeil 200
   
pu fd 200 rt 90 Label [B] 
   
rt 45 fd 2*first labelsize [Blt 45 label [0]
   
home
   
rot=RGB 1 0 0
   
setPC rot
   
size=150
   
angle=30
   
PU fd size 
   
PD down 90 circle size*tan angle  up 90
   
PU back size
   
l=size*Sqrt (1+Sqr Tan angle)
   
rt angle PD Pfeil l PU
   
fd seth 90 label [M]
   
Home
   
hT
   
rotatescene
end

to axes size
   
pd
   
home
   
setLabelAlign 1 1
   
setposxyz [1 0 0]*size   seth 90   label "x   home
   
setposxyz [0 1 0]*size   seth 90   label "z   home
   
setposxyz [0 0 -1]*size   seth 90   label "y   home
   
circle 0.03*size
end

to Pfeil l
   
lSpitze=l/8
   
rSpitze=l/20
   
p=PosXYZ
   
ori=Orientation
   
PD fd l-lSpitze/2
   
PU back lSpitze/rt 90 fd rSpitze
   
SurfaceStart
   
back rSpitze
   
dphi=10
   
for [1 0 -.1]
   
[   for [phi 0 360 dphi]
      
[   down dphi
         
PD fd r*rSpitze
         
PU back r*rSpitze
      
]
      
lt 90   fd lSpitze/rt 90
      
SurfaceColumn
   
]
   
SurfaceEnd   
   
setPosXYZ p
   
setOrientation ori
end