One Dimensional Trigonometric Spline

Click and drag control points to change curve.

For more information, check out the post on my blog: Bezier Curves.


Your browser doesn't seem to support the necesary html5 features ):
This trigonometric spline has 4 control points and total up the values of the 4 functions below to get the final point at time t. t ranges from 0 to pi/2 instead of the usual 0 to 1.
  1. A * (0.5*cos(x)*(cos(x)+1.0))
  2. B * (0.5*sin(x)*(sin(x)-1.0))
  3. C * (0.5*cos(x)*(cos(x)-1.0))
  4. D * (0.5*sin(x)*(sin(x)+1.0))
Parameters:
t - "time", but in our case we are going to use the x axis value for t.
A - The first control point, which is also the value of the function when x = 0.
B - The second control point.
C - The third control point.
D - The fourth control point, which is also the value of the function when x = pi/2.

In this particular case, A, B and C are scalars, which makes the curve into the function:
y = A * (0.5*cos(x)*(cos(x)+1.0)) + B * (0.5*sin(x)*(sin(x)-1.0)) + C * (0.5*cos(x)*(cos(x)-1.0)) + D * (0.5*sin(x)*(sin(x)+1.0))

Note that this spline is 1 dimensional because A,B,C,D are 1 dimensional, but you could use these same equations in any dimension. Also, these control points range from 0 to pi/2 on the X axis, but you could scale the X axis and/or the Y axis to get a different range of values.