feature request - Akima spline curves for vector graphics
jmichae1 Oct 17, 2008 6:37 PMAkima spline curves give drawing freedom, at least some kind
of interpolating spline curve where you can just simply lay the
points down and the curve follows along the points - I can't get
bezier curves to do what I want. It's like
Alice in wonderland using a flamingo for a mallet in a game of croquet. unweildly.
Bezier Curves were introduced into Windows NT and all windows NT family products after that. It
soon followed that all paint programs began including Bezier Curves as a drawing method. Big
mistake. They should have introduced Akima spline curves into Windows. I am not saying take
Bezier curves out - I am saying Add Akima Spline curves, or the bettered (modified) version of
Akima Spline curves that doesn't react as much. At least some type of interpolating spline curve
where you just lay the points down and the curve follows the points.
Akima spline curves are cool. just put points along where you want the curve. simple. you just
need more points around sharp edges, or you get a "ringing" effect around that area. (See
discussion and visuals link).
part of the challenge of using Akima spline curves is that the first 2 data points must be faked
or dropped. same goes with the last data point. this can be taken care of with some simple
engineering tricks.
http://en.wikipedia.org/wiki/Spline_(mathematics)
Wikipedia article on Spline curves (mathematics). This does not cover the Akima Spline, which
keeps its curve along the data points rather than just near it like a B-spline curve does.
http://www.cse.unsw.edu.au/~lambert/splines/
demonstration of the various curve types in action. (requires Java) play with the spline curve for
a while (delete the existing points other than 0 first to get started)
http://demonstrations.wolfram.com/BSplineCurveWithKnots/
B-Spline curve with Knots (can be active demo)
GNU Scientific Library Reference Manual
http://www.network-theory.co.uk/docs/gslref/InterpolationTypes.html
book - has Akima Spline & Cubic Spline. See also
http://www.gnu.org/software/gsl/manual/html_node/Interpolation-Types.html
GNU Manual
http://www.iop.org/EJ/abstract/0031-9155/18/4/306
PDF file from medical site on akima and spline methods and its associated errors. Recommendations
for fixing the significant overshoot on abrupt changes, and suggestion to use more closely spaced
points around those regions. must purchase.
http://portal.acm.org/citation.cfm?id=116810
The Akima Univariate Interpolation Method (spline) article from the acm. by Hiroshi Akima.
requires web account and probably money to buy the PDF article.
http://www.iue.tuwien.ac.at/phd/rottinger/node60.html
Equations for Akima Spline
http://www.alglib.net/interpolation/spline3.phpdiscussion and visuals of Akima Spline and its
drawbacks. also has source code in C++, C#, Delphi, VB6, Zonnon.
http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TYG-414N645-
2&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000050221&_version=1&_urlVersi on=0&_us
erid=10&md5=17dccffcfa40e5b420c7c377fc24b5f7
pay-for article on some sort of improved-smoothness spline. Shape of data is preserved.
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=1814&objectType=f ile
MATLAB model.
http://en.wikipedia.org/wiki/Spline_(mathematics) http://www.cse.unsw.edu.au/~lambert/splines/
Alice in wonderland using a flamingo for a mallet in a game of croquet. unweildly.
Bezier Curves were introduced into Windows NT and all windows NT family products after that. It
soon followed that all paint programs began including Bezier Curves as a drawing method. Big
mistake. They should have introduced Akima spline curves into Windows. I am not saying take
Bezier curves out - I am saying Add Akima Spline curves, or the bettered (modified) version of
Akima Spline curves that doesn't react as much. At least some type of interpolating spline curve
where you just lay the points down and the curve follows the points.
Akima spline curves are cool. just put points along where you want the curve. simple. you just
need more points around sharp edges, or you get a "ringing" effect around that area. (See
discussion and visuals link).
part of the challenge of using Akima spline curves is that the first 2 data points must be faked
or dropped. same goes with the last data point. this can be taken care of with some simple
engineering tricks.
http://en.wikipedia.org/wiki/Spline_(mathematics)
Wikipedia article on Spline curves (mathematics). This does not cover the Akima Spline, which
keeps its curve along the data points rather than just near it like a B-spline curve does.
http://www.cse.unsw.edu.au/~lambert/splines/
demonstration of the various curve types in action. (requires Java) play with the spline curve for
a while (delete the existing points other than 0 first to get started)
http://demonstrations.wolfram.com/BSplineCurveWithKnots/
B-Spline curve with Knots (can be active demo)
GNU Scientific Library Reference Manual
http://www.network-theory.co.uk/docs/gslref/InterpolationTypes.html
book - has Akima Spline & Cubic Spline. See also
http://www.gnu.org/software/gsl/manual/html_node/Interpolation-Types.html
GNU Manual
http://www.iop.org/EJ/abstract/0031-9155/18/4/306
PDF file from medical site on akima and spline methods and its associated errors. Recommendations
for fixing the significant overshoot on abrupt changes, and suggestion to use more closely spaced
points around those regions. must purchase.
http://portal.acm.org/citation.cfm?id=116810
The Akima Univariate Interpolation Method (spline) article from the acm. by Hiroshi Akima.
requires web account and probably money to buy the PDF article.
http://www.iue.tuwien.ac.at/phd/rottinger/node60.html
Equations for Akima Spline
http://www.alglib.net/interpolation/spline3.phpdiscussion and visuals of Akima Spline and its
drawbacks. also has source code in C++, C#, Delphi, VB6, Zonnon.
http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TYG-414N645-
2&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000050221&_version=1&_urlVersi on=0&_us
erid=10&md5=17dccffcfa40e5b420c7c377fc24b5f7
pay-for article on some sort of improved-smoothness spline. Shape of data is preserved.
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=1814&objectType=f ile
MATLAB model.
http://en.wikipedia.org/wiki/Spline_(mathematics) http://www.cse.unsw.edu.au/~lambert/splines/