Vector products: Difference between revisions

Content added Content deleted
Line 3,433:
 
def crossProduct /# x y -- z #/
1 get rot 2 get rot * >ps
len var lon
1 varget arot 2 varget brot * >ps
3 get rot 1 get rot * >ps
3 get rot 1 get rot * >ps
lon for drop
2 get rot 3 2get rot for* drop>ps
2 get rot 3 get rot * ps> a- getps> rotps> b- getps> rotps> *- >ps3 tolist
nip endfornip
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