Revision: | 1.1 |
Committed: | Sat Feb 22 02:07:21 2003 UTC (21 years, 2 months ago) by greg |
Branch: | MAIN |
CVS Tags: | rad5R2, rad4R2P2, rad5R0, rad5R1, rad3R7P2, rad3R7P1, rad4R2, rad4R1, rad4R0, rad3R5, rad3R6, rad3R6P1, rad3R8, rad3R9, rad4R2P1 |
Log Message: | Changes and check-in for 3.5 release Includes new source files and modifications not recorded for many years See ray/doc/notes/ReleaseNotes for notes between 3.1 and 3.5 release |
# | Content |
---|---|
1 | { |
2 | Cubic Basis Functions |
3 | } |
4 | |
5 | bezier(p1, p2, p3, p4, t) = p1 * (1+t*(-3+t*(3-t))) + |
6 | p2 * 3*t*(1+t*(-2+t)) + |
7 | p3 * 3*t*t*(1-t) + |
8 | p4 * t*t*t ; |
9 | |
10 | hermite(p0, p1, r0, r1, t) = p0 * ((2*t-3)*t*t+1) + |
11 | p1 * (-2*t+3)*t*t + |
12 | r0 * (((t-2)*t+1)*t) + |
13 | r1 * ((t-1)*t*t); |
14 | |
15 | bspline(pp, p0, p1, pn, t) = pp * (1/6+t*(-1/2+t*(1/2-1/6*t))) + |
16 | p0 * (2/3+t*t*(-1+1/2*t)) + |
17 | p1 * (1/6+t*(1/2+t*(1/2-1/2*t))) + |
18 | pn * (1/6*t*t*t) ; |