Parallel curve: Difference between revisions

Content deleted Content added
AnomieBOT (talk | contribs)
m Dating maintenance tags: {{Citation Needed}}
 
(4 intermediate revisions by 2 users not shown)
Line 50:
== Parallel curves of an implicit curve ==
[[File:Offset-of-implicit-curve-c4.svg|250px|thumb|Parallel curves of the implicit curve (red) with equation <math>x^4+y^4-1=0</math>]]
GenerallyNot theall [[implicit curve]]s have parallel curves with analytic representationrepresentations, ofbut athis parallelis curvepossible ofin ansome special cases. For instance, the [[implicitPythagorean hodograph curve]]s are rational curves with rational parallel curves, which can be converted to implicit representations. Another class of implicit rational curves with rational parallel curves is notthe possible[[parabola]]s.{{Citation Neededsfn|Farouki|2008|datepp=August216–217, 2025448}}. Only forFor the simplesimpler cases of lines and circles the parallel curves can be described easily.
For example:
: ''Line'' <math>\; f(x,y)=x+y-1=0\; </math> → distance function: <math>\; h(x,y)=\frac{x+y-1}{\sqrt{2}}=d\; </math> (Hesse normalform)
Line 103:
 
In general, the parallel curve of a [[Bézier curve]] is not another Bézier curve, a result proved by Tiller and Hanson in 1984.<ref>{{cite journal |last1=Tiller |first1=Wayne |last2=Hanson |first2=Eric |title=Offsets of Two-Dimensional Profiles |journal=IEEE Computer Graphics and Applications |year=1984 |volume=4 |issue=9 |pages=36–46 |doi=10.1109/mcg.1984.275995|s2cid=9046817 }}</ref> Thus, in practice, approximation techniques are used. Any desired level of accuracy is possible by repeatedly subdividing the curve, though better techniques require fewer subdivisions to attain the same level of accuracy. A 1997 survey by Elber, Lee and Kim<ref>{{cite journal |last1=Elber |first1=Gershon |last2=Lee |first2=In-Kwon |last3=Kim |first3=Myung-Soo
|url=https://ieeexplore.ieee.org/document/586019 |doi=10.1109/38.586019 |title=Comparing offset curve approximation methods |journal=IEEE Computer Graphics and Applications |volume=17 |issue=3 |pages=62–71 |date=May–Jun 1997|url-access=subscription }}</ref> is widely cited, though better techniques have been proposed more recently. A modern technique based on [[curve fitting]], with references and comparisons to other algorithms, as well as open source JavaScript source code, was published in a blog post<ref>{{cite web |url=https://raphlinus.github.io/curves/2022/09/09/parallel-beziers.html |title=Parallel curves of cubic Béziers |last=Levien |first=Raph |date=September 9, 2022 |access-date=September 9, 2022}}</ref> in September 2022.
 
Another efficient algorithm for offsetting is the level approach described by
Line 128:
The problem generalizes fairly obviously to higher dimensions e.g. to offset surfaces, and slightly less trivially to [[pipe surface]]s.<ref name="PottmannWallner2001">{{cite book|first1=Helmut|last1=Pottmann|first2=Johannes|last2=Wallner|title=Computational Line Geometry|url=https://books.google.com/books?id=6ZrqcYKgtE0C&pg=PA303|year=2001|publisher=Springer Science & Business Media|isbn=978-3-540-42058-3|pages=303–304}}</ref> 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.<ref name="Chirikjian2009">{{cite book|author1-link=Gregory S. Chirikjian|first=Gregory S.|last=Chirikjian|title=Stochastic Models, Information Theory, and Lie Groups, Volume 1: Classical Results and Geometric Methods|year=2009|publisher=Springer Science & Business Media|isbn=978-0-8176-4803-9|pages=171–175}}</ref> For curves embedded in 3D surfaces the offset may be taken along a [[geodesic]].<ref name="Sarfraz2003">{{cite book|editor-first=Muhammad|editor-last=Sarfraz|title=Advances in geometric modeling|url=https://books.google.com/books?id=kfZQAAAAMAAJ&pg=PA72|year=2003|publisher=Wiley|isbn=978-0-470-85937-7|page=72}}</ref>
 
Another way to generalize it is (even in 2D) to consider a variable distance, e.g. parametrized by another curve.<ref name="barn"/> One can for example stroke (envelope) with an ellipse instead of circle<ref name="barn"/> as it is possible for example in [[METAFONT]].<ref>{{Cite journal |last=Kinch |first=Richard J. |date=1995 |title=MetaFog: Converting METAFONT Shapes to Contours |url=https://www.tug.org/TUGboat/tb16-3/tb48kinc.pdf |journal=TUGboat |volume=16 |issue=3 |pages=233-243233–243}}</ref>
[[File:Envelope of ellipses.png|thumb|An envelope of ellipses forming two general offset curves above and below a given curve]]
More recently [[Adobe Illustrator]] has added somewhat similar facility in version [[CS5]], although the control points for the variable width are visually specified.<ref>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 [http://tv.adobe.com/watch/learn-illustrator-cs5/using-variablewidth-strokes/ video])</ref> In contexts where it's important to distinguish between constant and variable distance offsetting the acronyms CDO and VDO are sometimes used.<ref name="jarek"/>
Line 207:
*[http://mathworld.wolfram.com/ParallelCurves.html Parallel curves on MathWorld]
*[http://xahlee.org/SpecialPlaneCurves_dir/Parallel_dir/parallel.html 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 {{US patent|8400455}}
* http://www2.uah.es/fsegundo/Otros/Offset/16-SanSegundoSendraSendra-1532.pdf{{Dead link|date=August 2025 |bot=InternetArchiveBot |fix-attempted=yes }}
 
{{Differential transforms of plane curves}}