b-spline.mws

B-Spline

Implementacia

Bazove funkcie

>    C0 := proc (t) (-t^3+3*t^2-3*t+1)/6 end proc; C1 := proc (t) (3*t^3-6*t^2+4)/6 end proc; C2 := proc (t) (-3*t^3+3*t^2+3*t+1)/6 end proc; C3 := proc (t) t^3/6 end proc
C0 := proc (t) (-t^3+3*t^2-3*t+1)/6 end proc; C1 := proc (t) (3*t^3-6*t^2+4)/6 end proc; C2 := proc (t) (-3*t^3+3*t^2+3*t+1)/6 end proc; C3 := proc (t) t^3/6 end proc
C0 := proc (t) (-t^3+3*t^2-3*t+1)/6 end proc; C1 := proc (t) (3*t^3-6*t^2+4)/6 end proc; C2 := proc (t) (-3*t^3+3*t^2+3*t+1)/6 end proc; C3 := proc (t) t^3/6 end proc
C0 := proc (t) (-t^3+3*t^2-3*t+1)/6 end proc; C1 := proc (t) (3*t^3-6*t^2+4)/6 end proc; C2 := proc (t) (-3*t^3+3*t^2+3*t+1)/6 end proc; C3 := proc (t) t^3/6 end proc

>    X := 0: Y := 1:

Suradnice riadiacich bodov

>    p0[X] := 10; p0[Y] := 10; p1[X] := 50; p1[Y] := 200; p2[X] := 90; p2[Y] := 150; p3[X] := 130; p3[Y] := 10

>    c := seq([p || i[0], p || i[1]],i = 0 .. 3); body := PLOT(POINTS(c)); polyn := PLOT(CURVES([c],LINESTYLE(3),COLOUR(RGB,0,0,1)))
c := seq([p || i[0], p || i[1]],i = 0 .. 3); body := PLOT(POINTS(c)); polyn := PLOT(CURVES([c],LINESTYLE(3),COLOUR(RGB,0,0,1)))
c := seq([p || i[0], p || i[1]],i = 0 .. 3); body := PLOT(POINTS(c)); polyn := PLOT(CURVES([c],LINESTYLE(3),COLOUR(RGB,0,0,1)))

c := [10, 10], [50, 200], [90, 150], [130, 10]

Vykreslenie krivky

>    t := 't'; krivka := plot([p0[X]*C0(t)+p1[X]*C1(t)+p2[X]*C2(t)+p3[X]*C3(t), p0[Y]*C0(t)+p1[Y]*C1(t)+p2[Y]*C2(t)+p3[Y]*C3(t), t = 0 .. 1],title = `B-spline krivka`)
t := 't'; krivka := plot([p0[X]*C0(t)+p1[X]*C1(t)+p2[X]*C2(t)+p3[X]*C3(t), p0[Y]*C0(t)+p1[Y]*C1(t)+p2[Y]*C2(t)+p3[Y]*C3(t), t = 0 .. 1],title = `B-spline krivka`)
t := 't'; krivka := plot([p0[X]*C0(t)+p1[X]*C1(t)+p2[X]*C2(t)+p3[X]*C3(t), p0[Y]*C0(t)+p1[Y]*C1(t)+p2[Y]*C2(t)+p3[Y]*C3(t), t = 0 .. 1],title = `B-spline krivka`)
t := 't'; krivka := plot([p0[X]*C0(t)+p1[X]*C1(t)+p2[X]*C2(t)+p3[X]*C3(t), p0[Y]*C0(t)+p1[Y]*C1(t)+p2[Y]*C2(t)+p3[Y]*C3(t), t = 0 .. 1],title = `B-spline krivka`)

>    plots[display]({body, polyn, krivka});

[Maple Plot]

>