Intersection curve

In geometry, an intersection curve is a curve that is common to two geometric objects. In the simplest case, the intersection of two non-parallel planes in Euclidean 3-space is a line. In general, an intersection curve consists of the common points of two transversally intersecting surfaces, meaning that at any common point the surface normals are not parallel. This restriction excludes cases where the surfaces are touching or have surface parts in common.



The analytic determination of the intersection curve of two surfaces is easy only in simple cases; for example: a) the intersection of two planes, b) plane section of a quadric (sphere, cylinder, cone, etc.), c) intersection of two quadrics in special cases. For the general case, literature provides algorithms, in order to calculate points of the intersection curve of two surfaces.

Intersection line of two planes
Given: two planes $$\varepsilon_i: \quad \vec n_i\cdot\vec x=d_i, \quad i=1,2, \quad \vec n_1,\vec n_2$$ linearly independent, i.e. the planes are not parallel.

Wanted: A parametric representation $$\vec x= \vec p + t\vec r$$ of the intersection line.

The direction of the line one gets from the crossproduct of the normal vectors: $$\vec r=\vec n_1\times\vec n_2$$.

A point $$P:\vec p$$ of the intersection line can be determined by intersecting the given planes $$\varepsilon_1, \varepsilon_2$$ with the plane $$\varepsilon_3: \vec x = s_1\vec n_1 + s_2\vec n_2$$, which is perpendicular to $$\varepsilon_1 $$ and $$ \varepsilon_2$$. Inserting the parametric representation of $$\varepsilon_3$$ into the equations of $$\varepsilon_1$$ und $$\varepsilon_2$$ yields the parameters $$s_1$$ and $$s_2$$.

$$P: \vec p= \frac{ d_1(\vec n_2\cdot\vec n_2)-d_2(\vec n_1\cdot \vec n_2)} {(\vec n_1\cdot\vec n_1)(\vec n_2\cdot\vec n_2)-(\vec n_1\cdot\vec n_2)^2} \vec n_1 + \frac{ d_2(\vec n_1\cdot\vec n_1)-d_1(\vec n_1\cdot\vec n_2)}{(\vec n_1\cdot\vec n_1)(\vec n_2\cdot\vec n_2)-(\vec n_1\cdot\vec n_2)^2} \vec n_2\ .$$

Example: $$\varepsilon_1:\ x+2y+z=1, \quad \varepsilon_2:\ 2x-3y+2z=2 \ .$$

The normal vectors are $$\vec n_1=(1,2,1)^\top, \ \vec n_2=(2,-3,2)^\top $$ and the direction of the intersection line is $$\vec r=\vec n_1\times\vec n_2=(7,0,-7)^\top$$. For point $$P:\vec p$$, one gets from the formula above $$\vec p=\tfrac{1}{2}(1,0,1)^\top \ .$$ Hence
 * $$\vec x=\tfrac{1}{2}(1,0,1)^\top + t (7,0,-7)^\top$$

is a parametric representation of the line of intersection.

Remarks:
 * 1) In special cases, the determination of the intersection line by the Gaussian elimination may be faster.
 * 2) If one (or both) of the planes is given parametrically by $$ \vec x= \vec p + s\vec v + t \vec w $$, one gets $$ \vec n = \vec v \times \vec w $$ as normal vector and the equation is: $$ \vec n\cdot \vec x = \vec n\cdot \vec p$$.

Intersection curve of a plane and a quadric
In any case, the intersection curve of a plane and a quadric (sphere, cylinder, cone,...) is a conic section. For details, see. An important application of plane sections of quadrics is contour lines of quadrics. In any case (parallel or central projection), the contour lines of quadrics are conic sections. See below and Umrisskonstruktion.

Intersection curve of a cylinder or cone and a quadric
It is an easy task to determine the intersection points of a line with a quadric (i.e. line-sphere); one only has to solve a quadratic equation. So, any intersection curve of a cone or a cylinder (they are generated by lines) with a quadric consists of intersection points of lines and the quadric (see pictures).

The pictures show the possibilities which occur when intersecting a cylinder and a sphere:
 * 1) In the first case, there exists just one intersection curve.
 * 2) The second case shows an example where the intersection curve consists of two parts.
 * 3) In the third case, the sphere and cylinder touch each other at one singular point. The intersection curve is self-intersecting.
 * 4) If the cylinder and sphere have the same radius and the midpoint of the sphere is located on the axis of the cylinder, then the intersection curve consists of singular points (a circle) only.

General case: marching method
In general, there are no special features to exploit. One possibility to determine a polygon of points of the intersection curve of two surfaces is the marching method (see section References). It consists of two essential parts:
 * 1) The first part is the curve point algorithm, which determines to a starting point in the vicinity of the two surfaces a point on the intersection curve. The algorithm depends essentially on the representation of the given surfaces. The simplest situation is where both surfaces are implicitly given by equations $$f_1(x,y,z)=0,\ f_2(x,y,z)=0$$, because the functions provide information about the distances to the surfaces and show via the gradients the way to the surfaces. If one or both the surfaces are parametrically given, the advantages of the implicit case do not exist. In this case, the curve point algorithm uses time-consuming procedures like the determination of the footpoint of a perpendicular on a surface.
 * 2) The second part of the marching method starts with a first point on the intersection curve, determines the direction of the intersection curve using the surface normals, then makes a step with a given step length into the direction of the tangent line, in order to get a starting point for a second curve point, ... (see picture).

For details of the marching algorithm, see.

The marching method produces for any starting point a polygon on the intersection curve. If the intersection curve consists of two parts, the algorithm has to be performed using a second convenient starting point. The algorithm is rather robust. Usually, singular points are no problem, because the chance to meet exactly a singular point is very small (see picture: intersection of a cylinder and the surface $$x^4+y^4+z^4=1$$).

Application: contour line
A point $$(x,y,z)$$ of the contour line of an implicit surface with equation $$f(x,y,z)=0$$ and parallel projection with direction $$\vec v$$ has to fulfill the condition $$g(x,y,z)=\nabla f(x,y,z)\cdot \vec v=0$$, because $$\vec v$$ has to be a tangent vector, which means any contour point is a point of the intersection curve of the two implicit surfaces
 * $$f(x,y,z)=0 ,\ g(x,y,z)=0$$.

For quadrics, $$g$$ is always a linear function. Hence the contour line of a quadric is always a plane section (i.e. a conic section).

The contour line of the surface $$f(x,y,z)=x^4+y^4+z^4-1=0$$ (see picture) was traced by the marching method.

Remark: The determination of a contour polygon of a parametric surface $$ \vec x = \vec x(s,t)$$ needs tracing an implicit curve in parameter plane.
 * Condition for contour points: $$g(s,t)=(\vec x_s(s,t)\times \vec x_t(s,t))\cdot \vec v=0$$.

Intersection curve of two polyhedrons
The intersection curve of two polyhedrons is a polygon (see intersection of three houses). The display of a parametrically defined surface is usually done by mapping a rectangular net into 3-space. The spatial quadrangles are nearly flat. So, for the intersection of two parametrically defined surfaces, the algorithm for the intersection of two polyhedrons can be used. See picture of intersecting tori.