Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Line1 20
x y
13 5
12.51056516295 8.090169943749 15
11.09016994375 10.87785252292
8.877852522925 13.09016994375
3 17 Y-Axis
10
3 15
-0.090169943749 14.51056516295
-2.877852522925 13.09016994375 5
-5.090169943749 10.87785252292
-6.510565162952 8.090169943749
-7 5
0
-6.510565162952 1.909830056251 -10 -5 0
-5.090169943749 -0.877852522925
-2.877852522925 -3.090169943749
-5
-0.090169943749 -4.510565162952
3 -5
6.090169943749 -4
8.877852522925 -3.090169943749 -10 X-Axis
11.09016994375 -0.877852522925
12.51056516295 1.909830056251
13 5
1 #VALUE! #VALUE!
2 #VALUE! #VALUE!
3 #VALUE! #VALUE!
4 #VALUE! #VALUE!
5 #VALUE! #VALUE!
6 #VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
INSIDE
Finds if a specified point is inside a closed polyline
=INSIDE(Polyline, Point)
#VALUE! #VALUE!
be arranged row-wise.
to be used.
e arranged row-wise.
20
15
10
Column
C
5 Column
C
0
0 5 10 15
-5
-10 X-Axis
IPLC
Finds the intersection points of a 2D line and a circle
=IPLC(Line, CircleXY ,Radius)
X Y
Line 4 3
100 6
Circle centre 3 8
Radius 8
m c
dx,dy 96 3 0.03125 2.875
Intersection Points
X Y
IP1 #VALUE! #VALUE!
IP2 #VALUE! #VALUE!
IPCC
Finds the intersection points of two circles
=IPCC(Circle1XY, Radius1, Circle2XY, Radius2)
X Y Radius
Circle 1 3 8 5
Circle 2 5 7 3
Intersection Points
X Y
IP1 #VALUE! #VALUE!
IP2 #VALUE! #VALUE!
IPSSS, IPSS
IPSSS finds the 3D intersection points of three spheres
IPSS finds the location and radius of the intersection circle of two spheres,
and the polar coordinate angles of the line connecting the two cenrtres
=IPSSS(Sphere1XYZR, Sphere2XYZR, Sphere3XYZR)
X Y Z R
Sphere1 1 2 3 5
Sphere2 5 3 -1 6
Sphere3 2 4 9 7
Intersection points
IP1 #VALUE! #VALUE! #VALUE!
IP2 #VALUE! #VALUE! #VALUE!
=IPSS(Sphere1XYZR, Sphere2XYZR)
Distance from centre sphere1 to centre intersection circle, radius intersection circle,
and angle of line connecting sphere centres in XY plane and perpendicular plane (radians)
Dist; Theta1 Radius; Theta2
Length #VALUE! #VALUE!
Angle #VALUE! #VALUE!
Four functions to find the 3D Centre and radius of a circle or circular arc
ArcCenP3, ArcCenT2IP, ArcCenTP, ArcCenRP,
ArcCenP3 finds the centre and radius of an arc specified by any 3 points on the arc
Point 2 must lie between Points 1 and 3
ArcCenT2IP finds the centre and radius of an arc specified by 2 tangent points and the intersection point of the tangents
If the tangent points are not equidistant from the intersection point the further point is moved along the tangent line.
If either of the tangent points are adjusted the revised 3D coordinates are returned in the second row of the array outpu
together with the point number (1 or 2) of the adjusted point.
ArcCenTP finds the centre and radius of an arc specified by 1 tangent point, 1 other point on the tangent line, and 1 othe
ArcCenRP finds the centre and radius of an arc specified by 1 point on the circle, 1 other point on a radial line through th
For all four functions points are specified as a single row range with 2 or 3 columns
If Point 1 is specified with 2 coordinates the problem is treated as 2D, and any Z values specified for the other two points
If Point 1 is specified with 3 coordinates the other two points must also be specified as a 3 column range.
=ArcCenP3(Point1, Point2, Point3 )
X Y Z
Point 1 1 2 3
Point 2 4 3 5
Point 3 8 5 6
X Y Z R
#VALUE! #VALUE! #VALUE! #VALUE!
X Y Z
TP 1 1 2 3
TP 2 8 5 6
IP 4.219 2.781 5.875
0
X Y Z R
#VALUE! #VALUE! #VALUE! #VALUE!
Adjusted pt #VALUE! #VALUE! #VALUE! #VALUE!
Check distance from tangent points to circle centre
R
Point 1 #VALUE!
Point 2 #VALUE!
Adjusted Pt #VALUE! #VALUE!
X Y Z
TP1 #VALUE! #VALUE! #VALUE!
TP2 #VALUE! #VALUE! #VALUE!
Pt2 8 5 6
0
X Y Z R
#VALUE! #VALUE! #VALUE! #VALUE!
X Y Z
Pt1 #VALUE! #VALUE! #VALUE!
RP1 #VALUE! #VALUE! #VALUE!
Pt2 8 5 6
0
X Y Z R
#VALUE! #VALUE! #VALUE! #VALUE!
cosBAC 0.979534722672509
AD 8.01783725737273
CD 1.64750894209583 1.64750894209583
D 7.42857142857143 4.14285714285714 7.28571428571429
Direction Cosines
i j k
CD 0.346843987809647 0.520265981714472 -0.7803989725717
sinBAC 0.201275252027892
R 11.3838528303539
E 1.87082869338697 11.2290741053373 0
Cen 6.39473684210525 8.34210526315788 -4.7631578947368
B
C C C
D D
A A
B
O O O
Case 2, Two tangent points Case 3, Tangent Line Case 4, Radial Line and
and IP, ArcCenT2IP and one other point, one other point,
ArcCenTP ArcCenRP
PDIST
Finds the perpendicular distance to the closest segment of a polyline
=PDist(Line,Points)
"Line" is a range listing the XY coordinates for the polyline
"Points" is a range listing the XY coordinates for one or more points
PDist returns an n x 3 array where n is the number of rows in the "points" range:
Col1 = perpendicular distance from the point to the line.
Cols 2 and 3 = X and Y components of the perpendicular distance.
Enter as an array formula to return the whole array
15
Line
x y
13 5
12.510565 8.0901699
11.09017 10.877853
8.8778525 12.9 10
3 13
3 14
-0.09017 14.510565
Y-Axis
-2.877853 13.09017
-5.09017 10.877853 5
-6.510565 8.0901699
-7 5
-6.510565 1.9098301
-5.09017 -0.877853
-2.877853 -3.09017
-0.09017 -4.510565 0
3 -3 -10 -5 0 5
6 0
8.8778525 -3.09017
11.09017 -0.877853
12.510565 1.9098301 -5
13 5
Points
4.8 15
4.5 15
-8 10 -10
X-Axis
5 2
9 4
Distance DX DY
#VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
Perpendicular Lines
15 1 4.8 15
#VALUE! #VALUE!
2 4.5 15
#VALUE! #VALUE!
10 3 -8 10
#VALUE! #VALUE!
4 5 2
#VALUE! #VALUE!
5
5 9 4
#VALUE! #VALUE!
0
0 5 10 15
-5
-10
X-Axis
lar Lines
MaxDIST
Finds the maximum distance between any two points
=MaxDist(XRange, Yrange)
Line
x y Max Dist Row 1 Row 2
13 5 #VALUE! #VALUE! #VALUE!
12.510565 8.1923
11.09017 10.877
8.8778525 12.9
3 13
3 14
-0.09017 14.510565
-2.877853 13.09017
-5.09017 10.877853
-6.510565 8.0901699
-7 5
-6.510565 1.9098301
-5.09017 -0.877853
-2.877853 -3.09017
-0.09017 -4.510565
3 -3
6 0
8.8778525 -3.09017
11.09017 -0.877853
12.510565 1.9098301
13 5
RtoP, PtoR
Converts rectangular to polar coordinates and polar to rectangular
=RtoP(Rectangular Coordinate range, Origin, Coordinate number)
=PtoR(Polar Coordinate range, Origin, Coordinate number)
Coordinate number 1 2 3
Rectangular X Y Z
Polar R Theta1 Theta2
Theta1 = angle in XY plane
Theta2 = angle in perpendicular plane
X Y R theta1
13 5 #VALUE! #VALUE!
12.510565 8.0901699437 #VALUE! #VALUE!
11.09017 10.877852523 #VALUE! #VALUE!
8.8778525 13.090169944 #VALUE! #VALUE!
3 17 #VALUE! #VALUE!
3 15 #VALUE! #VALUE!
-0.09017 14.510565163 #VALUE! #VALUE!
-2.877853 13.090169944 #VALUE! #VALUE!
-5.09017 10.877852523 #VALUE! #VALUE!
-6.510565 8.0901699437 #VALUE! #VALUE!
-7 5 #VALUE! #VALUE!
-6.510565 1.9098300563 #VALUE! #VALUE!
-5.09017 -0.877852523 #VALUE! #VALUE!
-2.877853 -3.090169944 #VALUE! #VALUE!
-0.09017 -4.510565163 #VALUE! #VALUE!
3 -5 #VALUE! #VALUE!
6.0901699 -4 #VALUE! #VALUE!
8.8778525 -3.090169944 #VALUE! #VALUE!
11.09017 -0.877852523 #VALUE! #VALUE!
12.510565 1.9098300563 #VALUE! #VALUE!
13 5 #VALUE! #VALUE!
Rotate
Rotates 2D or 3D rectangular axes about any axis
Rotate(Rectangular Coordinate range, Rotation in radians, Axis, Optional Coordinate Number)
Axis or Coordinate number 1 2 3
X Y Z
X Y Z X Y Z
1.000 1.000 1.000 #VALUE! #VALUE! #VALUE!
-1.000 1.000 1.000 #VALUE! #VALUE! #VALUE!
-1.000 -1.000 1.000 #VALUE! #VALUE! #VALUE!
1.000 -1.000 1.000 #VALUE! #VALUE! #VALUE!
1.000 1.000 -1.000 #VALUE! #VALUE! #VALUE!
-1.000 1.000 -1.000 #VALUE! #VALUE! #VALUE!
-1.000 -1.000 -1.000 #VALUE! #VALUE! #VALUE!
1.000 -1.000 -1.000 #VALUE! #VALUE! #VALUE!
X Y dist slope
#VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
ordinate Number)
-0.7853982
3
X Y
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
X Y Z X Y Z X
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
-0.349066 -0.523599
2 1
Y Z X Y Z X Y
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
Z
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
#VALUE!
Find the intersection point of 2 lines in 3D space
IP3D(Line1XYZ, Line2XYZ)
Intersection point of 2 line segments specified by XYZ coordinates of ends
Line1XYZ 2x3 range with coordinates of line1
Line2XYZ 2x3 range with coordinates of line2
Example
Enter points in the XY plane, then rotate both lines to generate intersecting lines
X Y Z X Y
End 1 -1.000 -2.000 0.000 -1.000 3.000
End 2 3.000 1.000 0.000 2.000 -2.000
Line 1 X Y Z Line 2 X
A #VALUE! #VALUE! #VALUE! C #VALUE!
B #VALUE! #VALUE! #VALUE! D #VALUE!
Method 1
IP3D Function:
X Y Z
#VALUE! #VALUE! #VALUE!
Method 2
1. Find IP of lines projected onto each plane through the origin using IP function
X Y Z
XY Plane: #VALUE! #VALUE!
XZ Plane #VALUE! #VALUE!
YZ Plane #VALUE! #VALUE!
Method 3
1. Find IP of lines projected onto each plane through the origin using spreadsheet calc
m1 c1 m2 c2 X Y
XY Plane: #VALUE! #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
XZ Plane #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
YZ Plane #VALUE! #VALUE! #VALUE! #VALUE! #VALUE!
Z 8.000
0.000
Line1
0.000 6.000
Line2
4.000
2.000
Y Z 0.000
#VALUE! #VALUE! 0.800 1.000 1.200 1.400 1.600 1.800 2.000 2.200
#VALUE! #VALUE!
12.000
XZ Plane
10.000
8.000
Line1
6.000
Line2
4.000
2.000
0.000
0.800 1.000 1.200 1.400 1.600 1.800 2.000 2.200
12.000
YZ Plane
10.000
8.000
Z
Line1
6.000
Line2
4.000
8.000
Line1
6.000
#VALUE! Line2
#VALUE!
4.000
0
2.000
Z 0.000
0.800 1.000 1.200 1.400 1.600 1.800 2.000 2.200
#VALUE!
Line1
Line2
2.200
Line1
Line2
2.200
Line1
Line2
Line1
Line2
2.200
Intersection of Planes and Related Functions
Example
Enter three points to define a plane, then rotate planes through different angles to generate intersecting planes
X Y Z
A -1.000 6.000 2.000
B -2.000 -5.000 3.000
C 5.000 -2.000 -1.000
Plane X Y Z
A #VALUE! #VALUE! #VALUE!
B #VALUE! #VALUE! #VALUE!
C #VALUE! #VALUE! #VALUE!
Point
Distance #VALUE! #VALUE! #VALUE!
Perp. Point #VALUE! #VALUE! #VALUE!
Check dista #VALUE!
PlaneCoeff(PlaneXYZ)
Coefficients, a, b, c, d, of a plane defined by 3 points; where ax + by + cz +d = 0
PlaneXYZ 3x3 range with coordinates of 3 non-colinear points in the plane
Plane X Y Z
A #VALUE! #VALUE! #VALUE!
B #VALUE! #VALUE! #VALUE!
C #VALUE! #VALUE! #VALUE!
a b c d
Coefficients #VALUE! #VALUE! #VALUE! #VALUE!
Line X Y Z
A 2.000 2.000 2.000
B -2.000 0.000 0.000
IPPlanePlane(Plane1XYZ, Plane2XYZ)
Intersection line of two planes
Plane1XYZ 3x3 range with coordinates of 3 non-colinear points in the plane
Plane2XYZ 3x3 range with coordinates of 3 non-colinear points in the plane
Plane 1 X Y Z
A #VALUE! #VALUE! #VALUE!
B #VALUE! #VALUE! #VALUE!
C #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
Plane 2 Z
A #VALUE! #VALUE! #VALUE!
B #VALUE! #VALUE! #VALUE!
C #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
Plane 1
Plane 2
Intersection
Plane 1
Plane 2
Intersection
Sum
#VALUE!
#VALUE!
#VALUE!
PView(PlotXYZ, ViewPoint, Target)
Perspective projection of 3D lines
PlotXYZ 3D coordinates of lines to be plotted
Viewpoint 3D coordinates of viewpoint
Target Optional 3D cordinates of target, default = centroid of Plotxyz points
XoY Optional X over Y ratio for plot; default = 1.5, enter 0 for no scaling
Output: XY coordinates of the 3D lines projected onto a plane perpendicular to the view line.
If XoY is omitted or non-zero, coordinates of a boundary frame are added to the output array
Example
View distance 20 m
View angle to Z axis 45 degrees
View angle to XZ plane 360 degrees
1 0 0
1 1 0
1 1 1
1.4
1.2
1
Y-Axis
0.8
0.6
0.4
0.2
0
1 10 100 X-Axis 1000 10000 100000
Linear interpolation
2 way linear interpolation
Log interpolation
2 way log interpolation
Quadratic interpolation
Linear interpolation of a range of values
306533 x + 18.0075376884422
27086
6 20
xVal yVal 7 28
yellow) 6 20 9 31
nding order Column L 7 28 15 38
Linear
(Column L) 9 31 21 40
15 38
21 40
160
3 For 1D interpolation
250 For 2D interpolation
pa row values
14 16 18 20 22
160 xVal 10
161 trendline 29.5528
162 forecast 29.5528
163 interpolate #ADDIN?
164 Hand-Calc 32.1667
165 #VALUE!
Disclaimer
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
dougjenkins@interactiveds.com.au
www.interactiveds.com.au
ã Copyright 2005-2011 Interactive Design Services Pty Ltd. all rights reserved
Revision History
ending order
ted in Rotate.