Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members

# Hermite.h

Go to the documentation of this file.
```00001 /*
00002     File:       Hermite.h
00003
00004     Function:   Provides cubic interpolation functions
00005
00006     Author:     Andrew Willmott
00007
00008     Copyright:  (c) 1998-2000, Andrew Willmott
00009 */
00010
00011 #ifndef __Hermite__
00012 #define __Hermite__
00013
00014 #include "gcl/Geometry.h"
00015
00016 /*
00017     Calculate hermite coefficients.
00018
00019     t0, y0, ySlope0 are start time, value, and slope.
00020     t1, y1, ySlope1 are end time, value, and slope.
00021     t1 had better not equal t0.
00022
00023     For automatic slope control, set
00024         ySlope1 = (y2 - y0) / (t2 / t0);
00025         ySlope0 = (y1 - y-1) / (t1 / t-1);
00026 */
00027
00028 typedef Vector4 Cubic;
00029
00030 Void CalcHermiteCoeffs(
00031         GCLReal     t0,
00032         GCLReal     t1,
00033         GCLReal     y0,
00034         GCLReal     y1,
00035         GCLReal     ySlope0,
00036         GCLReal     ySlope1,
00037         Cubic       &result
00038     );
00039
00040 /*
00041     Evaluate y(t), using coeffs computed by CalcHermiteCoeffs().
00042     t0, t1 have to be same as you supplied to CalcHermiteCoeffs,
00043     and t should be between t0 and t1, inclusive.
00044 */
00045
00046 GCLReal EvalCubic(Cubic &cubicCoeffs, GCLReal t, GCLReal t0, GCLReal t1);
00047
00048 #endif
```

Generated at Sat Aug 5 00:16:59 2000 for Graphics Class Library by 1.1.0 written by Dimitri van Heesch, © 1997-2000