80 likes | 183 Vues
NUBS by Brian Wyvill. What’s that?. P 8. P 9. Y. t 10. P 1. P 3. Q 9. P 4. t 9. P 7. t 5. Q 5. t 3. Q 6. Q 8. Q 3. t 6. t 7. Q 4. t 8. P 0. t 4. Q 7. P 6. P 2. P 5. X. Uniform B-Splines. Basis functions for B-Splines. B-splines approximate a series of m+1
E N D
NUBS by Brian Wyvill What’s that?
P8 P9 Y t10 P1 P3 Q9 P4 t9 P7 t5 Q5 t3 Q6 Q8 Q3 t6 t7 Q4 t8 P0 t4 Q7 P6 P2 P5 X Uniform B-Splines Basis functions for B-Splines. B-splines approximate a series of m+1 Control points. (P0, P1 .. Pm) M 3 M – 2 cubic curve segments (Q3, Q4 .. Qm) Parameter range for Qi is ti t ti+1 There is a knot between Qi andQi+1 at ti ti=knot value. (m-1 knots) t3=0 to t4=1 to t5=2 etc. Qm defined by points. (Pm-3, Pm-2, Pm-1, Pm ) over parameter range tm=m-3 to tm+1=m-2
Uniform B-Splines Geometry Vector for B-Splines. GBs= Pi-3 Pi-2 Pi-1 Pi , 3 i m T= [ (t - ti)3 (t - ti)2 (t - ti)1 1] Qi (t) = Ti * MB * GBs , ti t ti+1
Non-Uniform B-Splines Effect of Multiple Knots
t0 t1 t2 t3 t4 t5 t6 t7 NUBS Piecewise continuous curve approximating control points P0 to Pm Knot Value sequence is non-decreasing sequence of knot values t0 through tm+4 ie there are 4 more knots than control points.
NUBS Qi (t) = Pi-3 * Bi-3,4 (t) + Pi-2 * Bi-2,4 (t) + Pi-1 * Bi-1,4 (t) + Pi * Bi-4 (t) 3 i m ti t < ti+1 Bi,1 (t) = 1, ti t < ti+1 otherwise zero. Bi,2 (t) = (t – ti) /(ti+1 – ti)Bi,1(t) + (ti+2 – t) /(ti+2 – ti+1)Bi+1,1 (t) Bi,3 (t) = Bi,4 (t) = B0,1 (t) = B1,1 (t) =B2,1 (t) = 0 B3,1 (t)=1 then 0 for i>3 B0,2 (t) = something* B0,1 (t) + something* B1,1 (t) = 0 B1,2 (t) = something* B1,1 (t) + something* B2,1 (t) = 0 B2,2 (t) = something* B2,1 (t) + (t4 – t) /(t4 – t3) * B3,1 (t) = (1-t)*1 This is 1 when t=0 and linearly decreasing until 0 at t=1