A parallel of a curve is the envelope of a family of congruent circles centered on the curve. It generalises the concept of parallel lines. It can also be defined as a curve whose points are at a fixed normal distance from a given curve. These two definitions are not entirely equivalent as the latter assumes smoothness, whereas the former does not.
In Computer-aided design the preferred term for a parallel curve is offset curve (In other geometric contexts, the term offset can also refer also to translation.) Offset curves are important for example in numerically controlled machining, where they describe for example the shape of the cut made by a round cutting tool of a two-axis machine. The shape of the cut is offset from the trajectory of the cutter by a constant distance in the direction normal to the cutter trajectory at every point.
In the area of 2D computer graphics known as vector graphics, the (approximate) computation of parallel curves is involved in one of the fundamental drawing operations, called stroking, which is typically applied to polylines or polybeziers (themselves called paths) in that field.
Except in the case of a line or circle, the parallel curves have a more complicated mathematical structure than the progenitor curve. For example, even if the progenitor curve is smooth, its offsets may not be so; this property is illustrated in the adjacent figure using a parabola as progenitor curve. In general, even if a curve is rational, its offsets may not be so. For example, the offsets of a parabola are rational curves, but the offsets of an ellipse or of a hyperbola are not rational, even though these progenitor curves themselves are rational.
The notion also generalizes to 3D surfaces, where it is called offset surface. Increasing a solid volume by a (constant) distance offset is sometimes called dilation. The opposite operation is sometimes called shelling.
Alternatively, one can fix a circle and a point on the curve and take the envelope of the translations taking that point to the circle.
Tracing the center of a circle rolled along the curve (see roulette) would give one branch of a parallel.
For a parametrically defined curve, the following equations define one branch of its parallel curve with distance (the other branch is obtained with ):
- A parabola has as (two-sided) offsets rational curves of degree 6.
- A hyperbola or an ellipse has as (two-sided) offsets an algebraic curve of degree 8.
- A Bézier curve of degree n has as (two-sided) offsets algebraic curves of degree 4n − 2. In particular, a cubic Bezier curve has as (two-sided) offsets algebraic curves of degree 10.
As for parallel lines, a normal line to a curve is also normal to its parallels.
If the progenitor curve is a boundary of a planar set and its parallel curve is without self-intersections, then the latter is the boundary of the Minkowski sum of the planar set and the disk of the given radius.
An efficient algorithm for offsetting is the level approach described by Kimel and Bruckstein (1993).
The problem generalizes fairly obviously to higher dimensions e.g. to offset surfaces, and slightly less trivially to pipe surfaces. Note that the terminology for the higher-dimensional versions varies even more widely than in the planar case, e.g. other authors speak of parallel fibers, ribbons, and tubes. For curves embedded in 3D surfaces the offset may be taken along a geodesic.
Another way to generalize it is (even in 2D) to consider a variable distance, e.g. parametrized by another curve. One can for example stroke (envelope) with an ellipse instead of circle as it is possible for example in METAFONT. More recently Adobe Illustrator has added somewhat similar facility in version CS5, although the control points for the variable width are visually specified. In contexts where it's important to distinguish between constant and variable distance offsetting the acronyms CDO and VDO are sometimes used.
- bump mapping
- distance function and signed distance function
- distance field
- offset printing
- tubular neighborhood
- Willson, Frederick Newton (1898). Theoretical and Practical Graphics. Macmillan. p. 66. ISBN 1-113-74312-3.
- Satyan L. Devadoss; Joseph O'Rourke (2011). Discrete and Computational Geometry. Princeton University Press. pp. 128–129. ISBN 1-4008-3898-3.
- J. Rafael Sendra; Franz Winkler; Sonia Pérez-Diaz (2007). Rational Algebraic Curves: A Computer Algebra Approach. Springer Science & Business Media. p. 10. ISBN 978-3-540-73724-7.
- Max K. Agoston (2005). Computer Graphics and Geometric Modelling: Mathematics. Springer Science & Business Media. p. 586. ISBN 978-1-85233-817-6.
- John Vince (2006). Geometry for Computer Graphics: Formulae, Examples and Proofs. Springer Science & Business Media. p. 293. ISBN 978-1-84628-116-7.
- Duncan Marsh (2006). Applied Geometry for Computer Graphics and CAD (2nd ed.). Springer Science & Business Media. p. 107. ISBN 978-1-84628-109-9.
- http://www.slideshare.net/Mark_Kilgard/22pathrender, p. 28
- Max K. Agoston (2005). Computer Graphics and Geometric Modelling. Springer Science & Business Media. pp. 638–645. ISBN 978-1-85233-818-3.
- http://www.cc.gatech.edu/~jarek/papers/localVolume.pdf, p. 3
- http://faculty.engineering.ucdavis.edu/farouki/wp-content/uploads/sites/41/2013/02/Introduction-to-PH-curves.pdf, p. 16 "taxonomy of offset curves"
- Kimmel and Bruckstein (1993) Shape offsets via level sets CAD (Computer Aided Design) 25(3):154–162.
- Helmut Pottmann; Johannes Wallner (2001). Computational Line Geometry. Springer Science & Business Media. pp. 303–304. ISBN 978-3-540-42058-3.
- Gregory S. Chirikjian (2009). Stochastic Models, Information Theory, and Lie Groups, Volume 1: Classical Results and Geometric Methods. Springer Science & Business Media. pp. 171–175. ISBN 978-0-8176-4803-9.
- Muhammad Sarfraz, ed. (2003). Advances in geometric modeling. Wiley. p. 72. ISBN 978-0-470-85937-7.
- Eric L. Brechner (1992). "5. General Offset Curves and Surfaces". In Robert E. Barnhill. Geometry Processing for Design and Manufacturing. SIAM. pp. 101–. ISBN 978-0-89871-280-3.
- "Properties of Generalized Offset Curves and Surfaces". Hindawi.com. Retrieved 2014-08-15.
- http://design.tutsplus.com/tutorials/illustrator-cs5-variable-width-stroke-tool-perfect-for-making-tribal-designs--vector-4346 application of the generalized version in Adobe Illustrator CS5 (also video)
- Farouki, R. T.; Neff, C. A. (1990). "Analytic properties of plane offset curves". Computer Aided Geometric Design. 7: 83. doi:10.1016/0167-8396(90)90023-K.
- Piegl, Les A. (1999). "Computing offsets of NURBS curves and surfaces". Computer-Aided Design. 31 (2): 147–156. doi:10.1016/S0010-4485(98)00066-9.
- Ian R. Porteous (2001). Geometric Differentiation: For the Intelligence of Curves and Surfaces (2nd ed.). Cambridge University Press. pp. 1–25. ISBN 978-0-521-00264-6.
- Nicholas M. Patrikalakis; Takashi Maekawa (2010) . Shape Interrogation for Computer Aided Design and Manufacturing. Springer Science & Business Media. Chapter 11. Offset Curves and Surfaces. ISBN 978-3-642-04074-0. Free online version.
- Anton, François; Emiris, Ioannis Z.; Mourrain, Bernard; Teillaud, Monique (May 2005). "The O set to an Algebraic Curve and an Application to Conics". International Conference on Computational Science and its Applications. Singapore: Springer Verlag. pp. 683–696.
- Rida T Farouki (2008). Pythagorean-Hodograph Curves: Algebra and Geometry Inseparable. Springer Science & Business Media. pp. 141–178. ISBN 978-3-540-73397-3. Pages listed are the general and introductory material.
- C. K. Au; Y.-S. Ma (2013). "Computation of Offset Curves Using a Distance Function: Addressing a Key Challenge in Cutting Tool Path Generation". In Y.-S. Ma. Semantic Modeling and Interoperability in Product and Process Engineering: A Technology for Engineering Informatics. Springer Science & Business Media. pp. 259–273. ISBN 978-1-4471-5073-2.
- Parallel curves on MathWorld
- Visual Dictionary of Plane Curves Xah Lee
- http://library.imageworks.com/pdfs/imageworks-library-offset-curve-deformation-from-Skeletal-Anima.pdf application to animation; patented as http://www.google.com/patents/US8400455