Node:Regular Closed Plane Curve Intersections, Next:Regular Closed Plane Curve Segments, Previous:Querying Regular Closed Plane Curves, Up:Regular Closed Plane Curve Reference
| bool_point_pair intersection_points (Point ref_pt, Point p0, Point p1) | const function |
| bool_point_pair intersection_points (const Point& ref_pt, const Path& p) | const function |
The version of this function taking Point arguments finds the
intersection points, if any, of the
Reg_Cl_Plane_Curve and the line
p
that passes through the Points
p_0
and
p_1.
In the other version, the Path argument must be a linear
Path, and its first and last Points are passed to the
first version of this function as p0 and p1, respectively.
Let
C
be the In [next figure]
, the line AB
is normal to the
The line DE is skew to the plane of e, and intersects e at i_1, on the perimeter of e. Point p0(2, 2, 3);
Ellipse e(p0, 3, 4, 30, -60, -5.2);
Point p1 = p0.mediate(e.get_point(11), .5);
Point A = e.get_normal();
A *= 2.5;
A.shift(p1);
Point B = A.mediate(p1, 2);
bool_point_pair bpp = e.intersection_points(A, B);
Point C(0, 2, 0);
Point D(0, -3.5, 0);
C *= D.rotate(2, 0, -5);
C *= D.shift(e.get_point(4));
bpp = e.intersection_points(C, D);
In [next figure]
, q and e are coplanar. In this case,
only the intersections of q with the perimeter of e are returned by
A = p0.mediate(e.get_point(3), 1.5);
B = p0.mediate(e.get_point(11), 1.5);
Path q(A, B);
bpp = e.intersection_points(q);
|