1 |
greg |
1.1 |
{ |
2 |
|
|
Bicubic Bezier Patch |
3 |
|
|
|
4 |
|
|
02Mar90 |
5 |
|
|
|
6 |
|
|
Define Px(i,j), Py(i,j), Pz(i,j) |
7 |
|
|
} |
8 |
|
|
|
9 |
|
|
x(s,t) = bezier(P2x(s,1), P2x(s,2), P2x(s,3), P2x(s,4), t); |
10 |
|
|
y(s,t) = bezier(P2y(s,1), P2y(s,2), P2y(s,3), P2y(s,4), t); |
11 |
|
|
z(s,t) = bezier(P2z(s,1), P2z(s,2), P2z(s,3), P2z(s,4), t); |
12 |
|
|
|
13 |
|
|
P2x(s,j) = bezier(Px(1,j), Px(2,j), Px(3,j), Px(4,j), s); |
14 |
|
|
P2y(s,j) = bezier(Py(1,j), Py(2,j), Py(3,j), Py(4,j), s); |
15 |
|
|
P2z(s,j) = bezier(Pz(1,j), Pz(2,j), Pz(3,j), Pz(4,j), s); |
16 |
|
|
|
17 |
|
|
bezier(p1, p2, p3, p4, t) = p1 * (1+t*(-3+t*(3-t))) + |
18 |
|
|
p2 * 3*t*(1+t*(-2+t)) + |
19 |
|
|
p3 * 3*t*t*(1-t) + |
20 |
|
|
p4 * t*t*t ; |