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 $x^2+y^2=1$. In general, every implicit curve is defined by an equation of the form
: $F(x,y)=0$
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 $F(x,y)$ 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 $y=f(x)$ 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 both of whose functional forms are explicitly stated, and which are dependent on a common parameter $t.$
Examples of implicit curves include:
# a line: $x+2y-3=0\; ,$
# a circle: $x^2+y^2-4=0\; ,$
# the semicubical parabola: $x^3-y^2=0\; ,$
# Cassini ovals $(x^2+y^2)^2-2c^2(x^2-y^2)-(a^4-c^4)=0$ (see diagram),
# $\backslash sin(x+y)-\backslash cos(xy)+1=0$ (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 $F(x,y)=0$ can be ''solved implicitly'' for ''x'' and/or ''y'' – that is, under which one can validly write $x=g(y)$ or $y=f(x)$. 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 $F(x,y)=0$ can be considered as the level curve of level 0 of the surface $z=F(x,y)$ (see third diagram).

** Slope and curvature **

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 $F(x,y)=0$, one can express these formulas directly in terms of the partial derivatives of $F$. In what follows, the partial derivatives are denoted $F\_x$ (for the derivative with respect to ''x''), $F\_y$, $F\_$ (for the second partial with respect to ''x''), $F\_$ (for the mixed second partial), $F\_.$

** Tangent and normal vector **

A curve point $(x\_0,\; y\_0)$ is ''regular'' if the first partial derivatives $F\_x(x\_0,y\_0)$ and $F\_y(x\_0,y\_0)$ are not both equal to 0.
The equation of the tangent line at a regular point $(x\_0,y\_0)$ is
: $F\_x(x\_0,y\_0)(x-x\_0)+F\_y(x\_0,y\_0)(y-y\_0)=0,$
so the slope of the tangent line, and hence the slope of the curve at that point, is
:$\backslash text\; =-\backslash frac.$
If $F\_y(x,y)=0\; \backslash ne\; F\_x(x,y)$ at $(x\_0,y\_0),$ the curve is vertical at that point, while if both $F\_y(x,y)=0$ and $F\_x(x,y)=0$ 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
:$\backslash mathbf(x\_0,y\_0)\; =\; (F\_x(x\_0,y\_0),\; F\_y(x\_0,y\_0))$
(here written as a row vector).

** Curvature **

For readability of the formulas, the arguments $(x\_0,y\_0)$ are omitted. The curvature $\backslash kappa$ at a regular point is given by the formula
:$\backslash kappa\; =\; \backslash frac$.

** Derivation of the formulas **

The implicit function theorem guarantees within a neighborhood of a point $(x\_0,y\_0)$ the existence of a function $f$ such that $F(x,f(x))=0$.
By the chain rule, the derivatives of function $f$ are
: $f\text{'}(x)=-\backslash frac$ and $f\text{'}\text{'}(x)=\backslash frac$
(where the arguments $(x,\; f(x))$ on the right side of the second formula are omitted for ease of reading).
Inserting the derivatives of function $f$ into the formulas for a tangent and curvature of the graph of the explicit equation $y\; =\; f(x)$ yields
: $y=f(x\_0)+f\text{'}(x\_0)(x-x\_0)$ (tangent)
: $\backslash kappa(x\_0)=\backslash frac$ (curvature).

** Advantage and disadvantage of implicit curves **

** Disadvantage **

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 **

#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 $F(x,y)=0$ gives the possibility of separating points not on the curve by the sign of $F(x,y)$. 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 $F(x,y)=0,$ by just adding a small number: $F(x,y)-c=0$ (see section #Smooth approximations).

** Applications of implicit curves **

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 **

Convex polygons

A smooth approximation of a convex polygon can be achieved in the following way: Let $g\_i(x,y)=a\_ix+b\_iy+c\_i=0,\; \backslash \; i=1,\backslash dotsc,n$ be the equations of the lines containing the edges of the polygon such that for an inner point of the polygon $g\_i$ is positive. Then a subset of the implicit curve :$F(x,y)=g\_1(x,y)\backslash cdots\; g\_n(x,y)-c=0$ with suitable small parameter $c$ is a smooth (differentiable) approximation of the polygon. For example, the curves :$F(x,y)=(x+1)(-x+1)y(-x-y+2)(x-y+2)-c=0$ for $c=\; 0.03,\; \backslash dotsc,\; 0.6$ contain smooth approximations of a polygon with 5 edges (see diagram).

Pairs of lines

In case of two lines :$F(x,y)=g\_1(x,y)g\_2(x,y)-c=0$ 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 $xy-c=0,\; \backslash \; c\backslash ne\; 0$, which have the coordinate axes as asymptotes.

Others

If one starts with simple implicit curves other than lines (circles, parabolas,...) one gets a wide range of interesting new curves. For example, :$F(x,y)=y(-x^2-y^2+1)-c=0$ (product of a circle and the x-axis) yields smooth approximations of one half of a circle (see picture), and :$F(x,y)=(-x^2-(y+1)^2+4)(-x^2-(y-1)^2+4)-c=0$ (product of two circles) yields smooth approximations of the intersection of two circles (see diagram).

** Blending curves **

In CAD one uses implicit curves for the generation of blending curves,E. Hartmann: ''Blending of implicit surfaces with functional splines'', CAD,Butterworth-Heinemann, Volume 22 (8), 1990, p. 500-507 which are special curves establishing a smooth transition between two given curves. For example,
: $F(x,y)=(1-\backslash mu)f\_1f\_2-\backslash mu\; (g\_1g\_2)^3\; =0$
generates blending curves between the two circles
:$f\_1(x,y)=(x-x\_1)^2+y^2-r\_1^2=0\; ,$
:$f\_2(x,y)=(x-x\_2)^2+y^2-r\_2^2=0\; .$
The method guarantees the continuity of the tangents and curvatures at the points of contact (see diagram). The two lines
:$g\_1(x,y)=x-x\_1=0\; ,\; \backslash \; g\_2(x,y)=x-x\_2=0$
determine the points of contact at the circles. Parameter $\backslash mu$ is a design parameter. In the diagram, $\backslash mu=\; 0.05,\; \backslash dotsc,\; 0.2$.

** Equipotential curves of two point charges **

Equipotential curves of two equal point charges at the points $P\_1=(1,0),\; \backslash ;\; P\_2=(-1,0)$ can be represented by the equation
:$f(x,y)=\backslash frac+\backslash frac-c$
:::$=\backslash frac+\backslash frac-c=0\; .$
The curves are similar to Cassini ovals, but they are not such curves.

** Visualization of an implicit curve **

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 $\backslash operatorname\; F\; \backslash ne\; (0,0)$. In practice this assumption is violated at single isolated points only.

** Point algorithm **

For the solution of both tasks mentioned above it is essential to have a computer program (which we will call $\backslash mathsf$), which, when given a point $Q\_0=(x\_0,y\_0)$ near an implicit curve, finds a point $P$ that is exactly on the curve:
:(P1) for the start point is $j=0$
:(P2) repeat
::$(x\_,y\_)=\; (x\_j,y\_j)-\; \backslash frac\backslash ,\; \backslash left(\; F\_x(x\_j,y\_j),F\_y(x\_j,y\_j)\backslash right)$
:::( Newton step for function $g(t)=F\backslash left(x\_j+tF\_x(x\_j,y\_j),y\_j+tF\_y(x\_j,y\_j)\backslash right)\; \backslash \; .$)
:(P3) until the distance between the points $(x\_,y\_),\backslash ,\; (x\_j,y\_j)$ is small enough.
:(P4) $P=(x\_,y\_)$ is the curve point near the start point $Q\_0$.

** Tracing algorithm **

In order to generate a nearly equally spaced polygon on the implicit curve one chooses a step length $s$ and
:(T1) chooses a suitable starting point in the vicinity of the curve
:(T2) determines a first curve point $P\_1$ using program $\backslash mathsf$
:(T3) determines the tangent (see above), chooses a starting point on the tangent using step length $s$ (see diagram) and determines a second curve point $P\_2$ using program $\backslash mathsf$ .
:$\backslash cdots$
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 **

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 $P$ in the raster, run the point algorithm $\backslash mathsf$ 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 **

Any space curve which is defined by two equations
:$\backslash begin\; F(x,y,z)=0,\; \backslash \backslash \; G(x,y,z)=0\; \backslash end$
is called an ''implicit space curve''.
A curve point $(x\_0,y\_0,z\_0)$ is called ''regular ''if the cross product of the gradients $F$ and $G$ is not $(0,0,0)$ at this point:
:$\backslash mathbf\; t(x\_0,y\_0,z\_0)=\backslash operatornameF(x\_0,y\_0,z\_0)\backslash times\; \backslash operatornameG(x\_0,y\_0,z\_0)\backslash ne\; (0,0,0);$
otherwise it is called ''singular''. Vector $\backslash mathbf\; t(x\_0,y\_0,z\_0)$ is a ''tangent vector'' of the curve at point $(x\_0,y\_0,z\_0).$
''Examples:''
$(1)\backslash quad\; x+y+z-1=0\; \backslash \; ,\backslash \; x-y+z-2=0$
::is a line.
$(2)\backslash quad\; x^2+y^2+z^2-4=0\; \backslash \; ,\; \backslash \; x+y+z-1=0$
::is a plane section of a sphere, hence a circle.
$(3)\backslash quad\; x^2+y^2-1=0\; \backslash \; ,\; \backslash \; x+y+z-1=0$
::is an ellipse (plane section of a cylinder).
$(4)\backslash quad\; x^2+y^2+z^2-16=0\; \backslash \; ,\; \backslash \; (y-y\_0)^2+z^2-9=0$
::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 **

* Implicit surface

References

* Gomes, A., Voiculescu, I., Jorge, J., Wyvill, B., Galbraith, C.: ''Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms'', 2009, Springer-Verlag London, *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''

** External links **

{{commons category|Implicit curves

Category:Curves Category:Computer-aided design

Convex polygons

A smooth approximation of a convex polygon can be achieved in the following way: Let $g\_i(x,y)=a\_ix+b\_iy+c\_i=0,\; \backslash \; i=1,\backslash dotsc,n$ be the equations of the lines containing the edges of the polygon such that for an inner point of the polygon $g\_i$ is positive. Then a subset of the implicit curve :$F(x,y)=g\_1(x,y)\backslash cdots\; g\_n(x,y)-c=0$ with suitable small parameter $c$ is a smooth (differentiable) approximation of the polygon. For example, the curves :$F(x,y)=(x+1)(-x+1)y(-x-y+2)(x-y+2)-c=0$ for $c=\; 0.03,\; \backslash dotsc,\; 0.6$ contain smooth approximations of a polygon with 5 edges (see diagram).

Pairs of lines

In case of two lines :$F(x,y)=g\_1(x,y)g\_2(x,y)-c=0$ 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 $xy-c=0,\; \backslash \; c\backslash ne\; 0$, which have the coordinate axes as asymptotes.

Others

If one starts with simple implicit curves other than lines (circles, parabolas,...) one gets a wide range of interesting new curves. For example, :$F(x,y)=y(-x^2-y^2+1)-c=0$ (product of a circle and the x-axis) yields smooth approximations of one half of a circle (see picture), and :$F(x,y)=(-x^2-(y+1)^2+4)(-x^2-(y-1)^2+4)-c=0$ (product of two circles) yields smooth approximations of the intersection of two circles (see diagram).

References

* Gomes, A., Voiculescu, I., Jorge, J., Wyvill, B., Galbraith, C.: ''Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms'', 2009, Springer-Verlag London, *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''

Category:Curves Category:Computer-aided design