Intersection curve

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In geometry, an intersection curve is, in the most simple case, the intersection line of two non-parallel planes in Euclidean 3-space. 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 intersection of two planes

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.[1]

Intersection line of two planes[edit]

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 und 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.


  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[edit]

In any case, the intersection curve of a plane and a quadric (sphere, cylinder, cone,...) is a conic section. For details, see.[2] 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[edit]

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[edit]

Intersection curve: principle of the marching algorithm

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. 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.[3]

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[edit]

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.[4]

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[edit]

Intersection curve between polyhedrons: three houses
Intersection of polyhedrons: two tori

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.[5] See picture of intersecting tori.

See also[edit]


  1. ^ Geometry and Algorithms for COMPUTER AIDED DESIGN, p. 94
  2. ^ CDKG: Computerunterstützte Darstellende und Konstruktive Geometrie (TU Darmstadt) (PDF; 3,4 MB), p. 87–124
  3. ^ Geometry and Algorithms for COMPUTER AIDED DESIGN, p. 94
  4. ^ Geometry and Algorithms for COMPUTER AIDED DESIGN, p. 99
  5. ^ Geometry and Algorithms for COMPUTER AIDED DESIGN p. 76