# Akima spline curves for vector graphics

**jmichae1**Oct 17, 2008 2:20 PM

Akima spline curves give drawing freedom - 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.

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.php

discussion 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&_urlVersion=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.

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.

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.php

discussion 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&_urlVersion=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.