Vector products: Difference between revisions

Content added Content deleted
Line 3,434:
 
def crossProduct /# x y -- z #/
len var lon
1 get rot 2 get rot * >ps
1 getvar rota 2 getvar rot * >psb
3 get rot 1 get rot * >ps
lon for drop
3 get rot 1 get rot * >ps
2 get rot 3 get rot2 *for >psdrop
2 get rot 3 get rot * ps> -a ps>get ps>rot -b ps>get ps>rot -* 3 tolist>ps
nip nip endfor
a 1 - dup 0 == if drop lon endif var a
b 1 - dup 0 == if drop lon endif var b
endfor
drop drop
lon for drop
ps> ps> -
endfor
lon tolist
enddef