summaryrefslogtreecommitdiff
path: root/nc_files/ngcgui_lib/utilitysubs/line.ngc
blob: b7dcbf5fb90330d538ee9ac2fe02de3e8ac41b4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
(return: _line:len,phi,cos,sin)

o<line> sub
(not_a_subfile)
#<x1> = #1
#<y1> = #2
#<x2> = #3
#<y2> = #4
(print  line: #<x1> #<y1> #<x2> #<y2>)

#<epsilon>   = 0.000001
#<dely>      = [#<y2> - #<y1>]
#<delx>      = [#<x2> - #<x1>]
#<_line:len> = SQRT[#<delx>*#<delx> + #<dely>*#<dely>]

o<l01> if [ABS[#<delx>] GT #<epsilon>]
         #<_line:phi> = ATAN[#<dely>]/[#<delx>]
o<l01> else
o<l02>   if [#<dely> GE 0]
           #<_line:phi> =  90
o<l02>   else
           #<_line:phi> = -90
o<l02>   endif
o<l01> endif

#<_line:cos> = COS[#<_line:phi>]
#<_line:sin> = SIN[#<_line:phi>]

(print  line: #<_line:len> #<_line:phi> #<_line:cos> #<_line:sin>)

o<line> endsub