This function finds the intersection points of two arcs described by their center points and radii. The onRight? input is used to determine which of the as many as two possible points to return. If True , it returns the point to the right of a line from the first arc to the second arc and in the plane of the two arcs. If there are no intersections, the function returns NoValue .
interArcArc ( p1 As Point, _ r1 As Number, _ p2 As Point, _ r2 As Number, _ onRight? As Boolean, _ Optional normal As Vector = Vector(0, 0, 1) ) As Any
Argument | Type | Description |
---|---|---|
p1 | Point | Center point of the first arc. |
r1 | Number | Radius of the first arc. |
p2 | Point | Center point of the second arc. |
r2 | Number | Radius of the second arc. |
onRight? | Boolean | This value selects which intersection point to return if more than one. |
normal | Vector | Optional; the normal vector of both arcs; default is the local Z axis (Vector(0, 0, 1)). |
Intent >interArcArc(point(0,0,0), 2, point(1,0,0), 2, True) --> Point_(0.5, -1.936, 0.0, WorldFrame())The onRight? argument was used to pick one of the two intersections.
Intent >interArcArc(point(0,0,0), 2, point(4,0,0), 2, True) --> Point_(2.0, 0.0, 0.0, WorldFrame())There was only one intersection in this case.
Intent >interArcArc(point(0,0,0), 2, point(5,0,0), 2, True) --> NoValueThere are no intersection points of the two arcs in this case.
Intent >interArcArc(point(0,0,0), 2, point(0,0,0), 2, True) --> Point_(0.0, 0.0, 0.0, WorldFrame())This is a degenerate case where the arcs are identical.