(dot product for two vectors 1-2 and 3-2 having a common vertex 2) (note u=[Ucos[a],Usin[a]], v=[V[cos[b],Vsin[b] then:) ( u dot v = U*Vcos[a-b] phi := a-b ) ( u dot v > 0 ==> acute phi = [-90, 90] ) ( u dot v < 0 ==> obtuse phi = [ 90,270] ) ( u dot v = 0 ==> right phi = 90 ) (return:) ( _dot:dot scalar product) (_dot:ang [ 0,180] angle between vectors -- for cw,ccw determination) (_dot:phi [-180,180] actual angle between vectors) (_dot:acu [ 0, 90] acute angle between the extended vectors) o sub (not_a_subfile) # = #1 # = #2 # = #3 # = #4 # = #5 # = #6 # = [#-#] # = [#-#] # = [#-#] # = [#-#] #<_dot:dot> = [#*# + #*#] # = SQRT[[#*#+#*#]*[#*#+#*#]] #<_dot:ang> = ACOS[#<_dot:dot>/#] #<_dot:phi> = #<_dot:ang> o if [#<_dot:dot> LT 0] #<_dot:phi> = [ 0 - #<_dot:ang>] o endif #<_dot:acu> = #<_dot:phi> o if [#<_dot:ang> GT 90] #<_dot:acu> = [180 - #<_dot:ang>] o endif (print dot: # # # # # # magp=# ) (print dot: dot=#<_dot:dot> ang=#<_dot:ang> phi=#<_dot:phi> acu=#<_dot:acu>) o endsub