Content deleted Content added
Rescuing 1 sources and tagging 1 as dead.) #IABot (v2.0.9.5 |
→Parallel curves of an implicit curve: parabola |
||
(6 intermediate revisions by 4 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>]]
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
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=
[[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
{{Differential transforms of plane curves}}
|