Implicit curve
In mathematics, an implicit curve is a plane curve defined by an implicit equation relating two coordinate variables, commonly x and y. For example, the unit circle is defined by the implicit equation . In general, every implicit curve is defined by an equation of the form
for some function F of two variables. Hence an implicit curve can be considered as the set of zeros of a function of two variables. Implicit means that the equation is not expressed as a solution for either x in terms of y or vice versa.
If is a polynomial in two variables, the corresponding curve is called an algebraic curve, and specific methods are available for studying it.
Plane curves can be represented in Cartesian coordinates (x, y coordinates) by any of three methods, one of which is the implicit equation given above. The graph of a function is usually described by an equation in which the functional form is explicitly stated; this is called an explicit representation. The third essential description of a curve is the parametric one, where the x- and y-coordinates of curve points are represented by two functions x(t), y(t) both of whose functional forms are explicitly stated, and which are dependent on a common parameter
Examples of implicit curves include:
- a line:
- a circle:
- the semicubical parabola:
- Cassini ovals (see diagram),
- (see diagram).
The first four examples are algebraic curves, but the last one is not algebraic. The first three examples possess simple parametric representations, which is not true for the fourth and fifth examples. The fifth example shows the possibly complicated geometric structure of an implicit curve.
The implicit function theorem describes conditions under which an equation can be solved implicitly for x and/or y – that is, under which one can validly write or . This theorem is the key for the computation of essential geometric features of the curve: tangents, normals, and curvature. In practice implicit curves have an essential drawback: their visualization is difficult. But there are computer programs enabling one to display an implicit curve. Special properties of implicit curves make them essential tools in geometry and computer graphics.
An implicit curve with an equation can be considered as the level curve of level 0 of the surface (see third diagram).
Slope and curvature
[edit]In general, implicit curves fail the vertical line test (meaning that some values of x are associated with more than one value of y) and so are not necessarily graphs of functions. However, the implicit function theorem gives conditions under which an implicit curve locally is given by the graph of a function (so in particular it has no self-intersections). If the defining relations are sufficiently smooth then, in such regions, implicit curves have well defined slopes, tangent lines, normal vectors, and curvature.
There are several possible ways to compute these quantities for a given implicit curve. One method is to use implicit differentiation to compute the derivatives of y with respect to x. Alternatively, for a curve defined by the implicit equation , one can express these formulas directly in terms of the partial derivatives of . In what follows, the partial derivatives are denoted (for the derivative with respect to x), , (for the second partial with respect to x), (for the mixed second partial),
Tangent and normal vector
[edit]A curve point is regular if the first partial derivatives and are not both equal to 0.
The equation of the tangent line at a regular point is
so the slope of the tangent line, and hence the slope of the curve at that point, is
If at the curve is vertical at that point, while if both and at that point then the curve is not differentiable there, but instead is a singular point – either a cusp or a point where the curve intersects itself.
A normal vector to the curve at the point is given by
(here written as a row vector).
Curvature
[edit]For readability of the formulas, the arguments are omitted. The curvature at a regular point is given by the formula
- .[1]
Derivation of the formulas
[edit]The implicit function theorem guarantees within a neighborhood of a point the existence of a function such that . By the chain rule, the derivatives of function are
- and
(where the arguments on the right side of the second formula are omitted for ease of reading).
Inserting the derivatives of function into the formulas for a tangent and curvature of the graph of the explicit equation yields
- (tangent)
- (curvature).
Advantage and disadvantage of implicit curves
[edit]Disadvantage
[edit]The essential disadvantage of an implicit curve is the lack of an easy possibility to calculate single points which is necessary for visualization of an implicit curve (see next section).
Advantages
[edit]- Implicit representations facilitate the computation of intersection points: If one curve is represented implicitly and the other parametrically the computation of intersection points needs only a simple (1-dimensional) Newton iteration, which is contrary to the cases implicit-implicit and parametric-parametric (see Intersection).
- An implicit representation gives the possibility of separating points not on the curve by the sign of . This may be helpful for example applying the false position method instead of a Newton iteration.
- It is easy to generate curves which are almost geometrically similar to the given implicit curve by just adding a small number: (see section #Smooth approximations).
Applications of implicit curves
[edit]Within mathematics implicit curves play a prominent role as algebraic curves. In addition, implicit curves are used for designing curves of desired geometrical shapes. Here are two examples.
Smooth approximations
[edit]Convex polygons
[edit]A smooth approximation of a convex polygon can be achieved in the following way: Let be the equations of the lines containing the edges of the polygon such that for an inner point of the polygon is positive. Then a subset of the implicit curve
with suitable small parameter is a smooth (differentiable) approximation of the polygon. For example, the curves
- for
contain smooth approximations of a polygon with 5 edges (see diagram).
Pairs of lines
[edit]In case of two lines
one gets
- a pencil of parallel lines, if the given lines are parallel or
- the pencil of hyperbolas, which have the given lines as asymptotes.
For example, the product of the coordinate axes variables yields the pencil of hyperbolas , which have the coordinate axes as asymptotes.
Others
[edit]If one starts with simple implicit curves other than lines (circles, parabolas,...) one gets a wide range of interesting new curves. For example,
(product of a circle and the x-axis) yields smooth approximations of one half of a circle (see picture), and
(product of two circles) yields smooth approximations of the intersection of two circles (see diagram).
Blending curves
[edit]In CAD one uses implicit curves for the generation of blending curves,[2][3] which are special curves establishing a smooth transition between two given curves. For example,
generates blending curves between the two circles
The method guarantees the continuity of the tangents and curvatures at the points of contact (see diagram). The two lines
determine the points of contact at the circles. Parameter is a design parameter. In the diagram, .
Equipotential curves of two point charges
[edit]Equipotential curves of two equal point charges at the points can be represented by the equation
The curves are similar to Cassini ovals, but they are not such curves.
Visualization of an implicit curve
[edit]To visualize an implicit curve one usually determines a polygon on the curve and displays the polygon. For a parametric curve this is an easy task: One just computes the points of a sequence of parametric values. For an implicit curve one has to solve two subproblems:
- determination of a first curve point to a given starting point in the vicinity of the curve,
- determination of a curve point starting from a known curve point.
In both cases it is reasonable to assume . In practice this assumption is violated at single isolated points only.
Point algorithm
[edit]For the solution of both tasks mentioned above it is essential to have a computer program (which we will call ), which, when given a point near an implicit curve, finds a point that is exactly on the curve, up to the accuracy of computation:
- (P1) for the start point is
- (P2) repeat
-
- (Newton step for function )
-
- (P3) until the distance between the points is small enough.
- (P4) is the curve point near the start point .
Tracing algorithm
[edit]In order to generate a nearly equally spaced polygon on the implicit curve one chooses a step length and
- (T1) chooses a suitable starting point in the vicinity of the curve
- (T2) determines a first curve point using program
- (T3) determines the tangent (see above), chooses a starting point on the tangent using step length (see diagram) and determines a second curve point using program .
Because the algorithm traces the implicit curve it is called a tracing algorithm. The algorithm traces only connected parts of the curve. If the implicit curve consists of several parts it has to be started several times with suitable starting points.
Raster algorithm
[edit]If the implicit curve consists of several or even unknown parts, it may be better to use a rasterisation algorithm. Instead of exactly following the curve, a raster algorithm covers the entire curve in so many points that they blend together and look like the curve.
- (R1) Generate a net of points (raster) on the area of interest of the x-y-plane.
- (R2) For every point in the raster, run the point algorithm starting from P, then mark its output.
If the net is dense enough, the result approximates the connected parts of the implicit curve. If for further applications polygons on the curves are needed one can trace parts of interest by the tracing algorithm.
Implicit space curves
[edit]Any space curve which is defined by two equations
is called an implicit space curve.
A curve point is called regular if the cross product of the gradients and is not at this point:
otherwise it is called singular. Vector is a tangent vector of the curve at point
Examples:
- is a line.
- is a plane section of a sphere, hence a circle.
- is an ellipse (plane section of a cylinder).
- is the intersection curve between a sphere and a cylinder.
For the computation of curve points and the visualization of an implicit space curve see Intersection.
See also
[edit]References
[edit]- ^ Goldman, R. (2005). "Curvature formulas for implicit curves and surfaces". Computer Aided Geometric Design. 22 (7): 632–658. CiteSeerX 10.1.1.413.3008. doi:10.1016/j.cagd.2005.06.005.
- ^ C. Hoffmann & J. Hopcroft: The potential method for blending surfaces and corners in G. Farin (Ed) Geometric-Modeling, SIAM, Philadelphia, pp. 347-365
- ^ E. Hartmann: Blending of implicit surfaces with functional splines, CAD,Butterworth-Heinemann, Volume 22 (8), 1990, p. 500-507
- ^ G. Taubin: Distance Approximations for Rastering Implicit Curves. ACM Transactions on Graphics, Vol. 13, No. 1, 1994.
- Gomes, A., Voiculescu, I., Jorge, J., Wyvill, B., Galbraith, C.: Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms, 2009, Springer-Verlag London, ISBN 978-1-84882-405-8
- C:L: Bajaj, C.M. Hoffmann, R.E. Lynch: Tracing surface intersections, Comp. Aided Geom. Design 5 (1988), 285-307.
- Geometry and Algorithms for COMPUTER AIDED DESIGN