|
LINE INTERSECTIONSName:
where each row of X1, Y1 X2, and Y2 defines line one and the corresponding row of X3, Y3, X4, and Y4 defines line two. If there are N rows, then this command will return the x and y coordinates for each of the N rows. The variables can in fact be parameters (i.e., a single value), but all arguments that are variables must contain the same number of rows. If the lines are parallel, the x and y coordinates for that row will be set to the minimum real value on the machine. You can enter the commands
LET CPUMIN = PROBEVAL if you need to check for this value.
<x4> <y4> <SUBSET/EXPCEPT/FOR qualification> where <x1> is a variable or parameter containing the x-coordinates for the first point of line one; <y1> is a variable or parameter containing the y-coordinates for the first point of line one; <x2> is a variable or parameter containing the x-coordinates for the second point of line one; <y2> is a variable or parameter containing the y-coordinates for the second point of line one; <x3> is a variable or parameter containing the x-coordinates for the first point of line two; <y3> is a variable or parameter containing the y-coordinates for the first point of line two; <x4> is a variable or parameter containing the x-coordinates for the second point of line two; <y4> is a variable or parameter containing the y-coordinates for the second point of line two; <yout> is a variable containing the y-coordinates of the intersection points; <xout> is a variable containing the x-coordinates of the intersection points; and where the <SUBSET/EXCEPT/FOR qualification> is optional.
read x y 0.5333000E+02 0.2357000E+02 0.5037000E+02 0.1668000E+02 0.1686000E+02 -0.6469000E+02 0.5521000E+02 0.2713000E+02 0.1395000E+02 -0.6794000E+02 0.5414000E+02 0.2781000E+02 0.2704000E+02 -0.4195000E+02 0.1830000E+02 -0.6416000E+02 -0.8881000E+02 -0.2991900E+03 0.6442000E+02 0.5613000E+02 -0.1728800E+03 -0.5288300E+03 0.4743000E+02 0.1766000E+02 0.3282400E+03 0.4791700E+03 0.2137600E+03 0.1424400E+03 0.2067600E+03 0.1877700E+03 0.3593000E+02 -0.2923600E+03 0.3637600E+03 0.3094700E+03 0.2974600E+03 0.6332000E+02 0.1759800E+03 -0.1644000E+03 0.4257500E+03 0.3561300E+03 0.6733000E+02 0.9115000E+02 0.5081000E+02 0.2532000E+02 -0.2029900E+03 -0.5509600E+03 0.7737000E+02 0.6375000E+02 0.3363100E+03 0.3074700E+03 0.1296400E+03 -0.1771600E+03 0.2421000E+02 -0.5091200E+03 0.1670100E+03 -0.1446500E+03 0.2401100E+03 -0.3796800E+03 0.5067400E+03 0.4129400E+03 0.5173100E+03 0.4183700E+03 0.8339000E+02 -0.6446200E+03 0.1908800E+03 0.3463800E+03 0.1629900E+03 0.3044400E+03 -0.1138500E+03 -0.4050300E+03 0.2787200E+03 0.4979900E+03 -0.7125000E+02 -0.4863700E+03 0.2147300E+03 0.1820300E+03 -0.1757900E+03 -0.5140500E+03 -0.1993500E+03 -0.5823900E+03 0.1438700E+03 0.2333900E+03 0.2134000E+02 -0.6915000E+02 -0.4354000E+02 -0.4289700E+03 0.3219800E+03 0.4268300E+03 0.2507000E+02 -0.2689300E+03 -0.8324000E+02 -0.5685300E+03 0.8540000E+02 -0.4379000E+03 0.7870000E+02 -0.3830800E+03 -0.1064000E+02 -0.6613600E+03 0.2023700E+03 -0.3954000E+02 0.2877000E+02 -0.3549000E+02 0.1908000E+02 -0.5440000E+02 0.3766000E+02 -0.1542000E+02 0.5360000E+02 0.1845000E+02 -0.1782900E+03 -0.5311500E+03 -0.9508000E+02 -0.5267900E+03 0.1183700E+03 -0.6679000E+02 0.4384000E+02 -0.4773700E+03 0.1847200E+03 -0.5284000E+02 0.1714300E+03 0.3265600E+03 0.1928600E+03 0.3423200E+03 -0.1705300E+03 -0.4889800E+03 0.4415000E+02 0.8400000E+01 -0.1434000E+03 -0.4216400E+03 0.6579000E+02 0.2837000E+02 end of data . let x1 = x(44) let y1 = y(44) let x2 = x(46) let y2 = y(46) let x3 = x(21) let y3 = y(21 let x4 = x(29) let y4 = y(29) . let xout yout = line intersection x1 y1 x2 y2 x3 y3 x4 y4 set write decimals 3 print xout yout . let x5 = xout(1) let y5 = yout(1) let zx = combine x1 x2 x3 x4 x5 let zy = combine y1 y2 y3 y4 y5 let ztag = data 1 1 2 2 3 char 1 2 circle char hw 1.0 0.75 all char fill on all . plot zy zx ztagThe following output is generated ------------------------------ XOUT YOUT ------------------------------ 109.859 -94.211
Date created: 02/15/2013 |