description: Spline, Bezier and Hemite SDL examples
date: 20061017-09.05
author: Tyler Montbriand, AmigaOS 4.0 compile by Spot / Up Rough
submitter: Spot / Up Rough
email: spot/triad se
url: http://burningsmell.org
category: development/example
license: Other
distribute: yes
fileid: 2180
hend:


curve_test by Tyler Montbriand, 2005
tsm()accesscomm.ca http://burningsmell.org

curve_test is a set of 3 programs to demonstrate 3 different kind of 
third-order parametric curves:  Hemite curve segments, Bezier curve 
segments, and Splines.  Hemite curves are defined by two endpoints and 
two vectors, Bezier curves are defined by four points, and Spline curves 
are defined by 4+n points.  In particular, my program draws *closed* 
spline curves.

All 3 programs are operated the same way;  the 0-9 keys select a 
particular point.  x or shift-x increases or decreases the X coordinate 
of the selected point or vector, y or shift-y increases or decreases the 
Y coordinate of the selected point or vector, ESC quits.  You will see 
the results of the modified curve redrawn in realtime.

It's probably stupidly slow and inefficient both in design and 
implimentation, but I hope the idea at least is fairly clear.

------------------------------------------------------------------------

This makefile was a bit odd, so i compiled the examples by hand using 
the following lines. The link phase went wrong, as the libs ended up
at the wrong place.

gcc hemite.c matrix.o midpoint_line.o -o spline -L/SDK/Local/newlib/lib -lGL -lGLU -lSDL -lauto -lpthread -lm -lm -lstdc++
gcc spline.c matrix.o midpoint_line.o -o spline -L/SDK/Local/newlib/lib -lGL -lGLU -lSDL -lauto -lpthread -lm -lm -lstdc++
gcc hemite.c matrix.o midpoint_line.o -o hemite -L/SDK/Local/newlib/lib -lGL -lGLU -lSDL -lauto -lpthread -lm -lm -lstdc++
gcc bezier.c matrix.o midpoint_line.o -o bezier -L/SDK/Local/newlib/lib -lGL -lGLU -lSDL -lauto -lpthread -lm -lm -lstdc++
strip bezier 
strip spline 
strip hemite 

.. Spot / Up Rough 2006

