- From: Doug Schepers <schepers@w3.org>
- Date: Fri, 19 Jun 2009 12:44:26 -0400
- To: SVG WG <public-svg-wg@w3.org>
Forwarded from Patrick Ion. -------- Original Message -------- From: Patrick Ion <ion@ams.org> Subject: Re: Smooth curves passing through/near a set of points. [ISSUE-2282] Date: Fri, 19 Jun 2009 09:47:03 -0400 To: W3C SVG Public Working Group <public-svg-wg@w3.org> In reply to postings from Chris Lilley and Doug Schepers on which I was CC'd: On Jun 11, 2009, at 11:34 AM, Chris Lilley wrote: > A couple of years ago, at TPAC, we were discussing a class of > curves with the property of passing through a set of points (or > near, for some definition of near), and differing from the curves > that SVG already has (cubic and quadratic Beziers) or might have > (non-uniform rational b-spline curves) in that no off-curve control > points are used to define the curve, only the on-curve knots. > Yes, we did. > I suppose these are piecewise curves with some fairing or > smoothness property where the pieces join. No, they are not piecewise curves with fairing. That was part of their properties I was struck by. > Does this ring any bells? I can't even recall the name for that > class of curves, sorry. The class of curves I was calling harmonic or Steiner interpolants. Steiner because in the case of three points you get the classical Steiner ellipse through the points. It is not really something that's widely known and appreciated. It's probably best to explain the situation myself (see below). They are smooth curves in their ideal forms, and they involve transcendental functions (i.e., trigonometric ones) in their calculation. So digitally they are effectively polynomially approximated and thus not strictly smooth ($C^\infty$, to use TeX coding); but then neither is anything else. Actually there ought to be an algebraic equation for any given interpolant curve of this class, but it seems computationally demanding to find it, and you don't need it to plot, just a Discrete Fourier Transform of order about the number of points involved, so usually not much. > We have a couple of use cases for such curves, now; one is for > graphing/charting applications where it is desired to run a smooth > (for some definition of smooth) curve through a set of 2D points > rather than joining them by a polyline. Harmonic interpolants are particularly nice for polygonal situations. > The second is to run a curve through a set of 3D points (where the > 3D space is a colour space) to produce colour gradients from a list > of colours, without perceptual discontinuities. Current gradients > effectively connect colours by polylines, so there is a perceptual > discontinuity at each colour stop. You can do the same job in more dimensions in a similar way. In fact, harmonic interpolants have been used to draw roller-coasters (Achterbahn) in 3D, as well as the Nurbergring race track in 2D. Finally then let me add some notes on the very basics of this I wrote some time ago. I have some other materials around, and I even had a Java applet that let you click points and then drew the interpolant. I don't know if I can find that quickly. I could do something similar in GeoGebra fairly easily, I think. One of the problems with the few pages of notes is they don't have the obviously needed diagrams. For the fundamental point that amounts to the decomposition of polygons into linear sums of standard regular polygons (i.e., into harmonic components) illustrated in applets, see http://www-personal.umich.edu/~pion/WebGeom/index.html This is not an actively maintained web site, but it's where the applets are exposed publicly. The short notes I have now put there too: http://www-personal.umich.edu/~pion/WebGeom/Steiner_ellipse_letter.pdf I think harmonic interpolants are under-appreciated. I anyone has any questions I'd be happy to address them and try and prepare a better exposition. The rough notes from 2005 may not use notation that everyone likes. Then Doug (June 17, 2009) pointed out the very interesting work of Raph Levien, and, in particular, his thesis, which looks very nicely done. I'm impressed too by the presence of real working software to back it all up, such as ppedit that runs straight away on my Mac. The Steiner interpolation mentioned above, to use some of Levien's terms, does not have extensionality (which does not seem to me to be a necessary property), is round, does not have clear monotone curvature properties but has nice visual ones, and is smooth ($C^\infty$) and truly global (which can be seen as a disadvantage). Again, I'd be very happy to engage in conversation with anyone about some of these things, and utterly delighted if it can help SVG in any way. I hope one day we'll be able to do scientific documents with text, diagrams and formulas in some integrated way. All the best, Patrick %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Patrick D. F. Ion Associate Editor [mailto: i@a.org where i=ion and a =ams] Mathematical Reviews 416 Fourth Street Ann Arbor, Michigan 48103, USA Tel: [1]-(734)-996-5273 FAX: [1]-(734)-996-2916 Math Reviews <http://www.ams.org/mr-database/> <http://www.ams.org/publications/60ann/ AnniversaryYear.html> University of Michigan [mailto:p@u.edu where p=pion and u =umich] Campus Mail Stop: 4820 W3C Math Working Group Co-Chair <http://www.w3.org/Math/> MathML (now becoming MathML3) <http://www.w3.org/TR/ MathML/> AMS Math on the Web pages <http://www.ams.org/ mathweb/> MSC2010 Revision <http:// MSC2010.org/> MSC 2010 Draft as TiddlyWiki <http:// MSC2010.org/MSC-draft.html> ********************************************************** Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues.
Received on Friday, 19 June 2009 16:44:34 UTC