chuong_3c [Compatibility Mode].pdf

Post on 16-Jan-2016

228 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

ÑOÀ HOÏA 2DÑOÀ HOÏA 2D

ÑÖÔØNG CONGÑÖÔØNG CONG

Giaûng vieân : Buøi Tieán Leân

Phaân loaïiPhaân loaïi

Quan ñieåm toaùn hoïc- Ñöôøng cong ñöôïc bieåu dieãn baèng haøm soá- Ñöôøng cong ñöôïc bieåu dieãn baèng phöông trình tham soá

Quan ñieåm thieát keá- Ñöôøng cong CAD (Computer Aided Design)

Trang Trang Trang Trang Trang Trang Trang Trang 22222222

- Ñöôøng cong CAD (Computer Aided Design)

Ñöôøng cong ñöôïc bieåu dieãn baèng Ñöôøng cong ñöôïc bieåu dieãn baèng haøm soáhaøm soá

Baøi toaùnBaøi toaùn

InputHaøm soá y = f(x)Mieàn ñoái soá [xmin, xmax]

OutputÑoà thò haøm soá

Trang Trang Trang Trang Trang Trang Trang Trang 44444444xmaxxmin

y=f(x)

Thuaät toaùnThuaät toaùnBöôùc 1 : Chia mieàn ñoái soá ra N ñoaïn baèng nhau

Trang Trang Trang Trang Trang Trang Trang Trang 55555555

x0 x1 x2 xN-1xNxmin xmax

Thuaät toaùnThuaät toaùnBöôùc 2 : Tính y

y

y1 y2

yN-1

yN

Trang Trang Trang Trang Trang Trang Trang Trang 66666666

x0 x1 x2 xN-1xNxmin xmax

y0yN-1

Thuaät toaùnThuaät toaùnBöôùc 3 : Keû ñöôøng gaáp khuùc ñi qua N + 1 ñieåm.

y

y1 y2

yN-1

yN

Trang Trang Trang Trang Trang Trang Trang Trang 77777777

x0 x1 x2 xN-1xN

y0yN-1

xmin xmax

Caøi ñaëtCaøi ñaët// Hàm vẽ đường cong hàm số

void DrawCurve2D(CDC *pDC, TFunc2D f, double xmin, double xmax)

{

double ∆x, x, y;

∆x = (xmax – xmin)/N;

x = xmin;

y = f(x);

pDC->MoveTo(ConvertWorldToScreen2D(x, y));

for(int i=1; i<=N; i++)

Trang Trang Trang Trang Trang Trang Trang Trang 88888888

for(int i=1; i<=N; i++)

{

x += ∆x;

y = f(x);

pDC->LineTo(ConvertWorldToScreen2D(x, y));

}

}

Caøi ñaëtCaøi ñaët// Lớp phương trình hàm

class TFunc2D {

virtual double operator () (double x) = 0;

};

Trang Trang Trang Trang Trang Trang Trang Trang 99999999

Vaán ñeà phaân ñoaïnVaán ñeà phaân ñoaïn

Soá phaân ñoaïn N laø bao nhieâu ?

ñoä phaân giaûi coät

Trang Trang Trang Trang Trang Trang Trang Trang 1010101010101010

Ñoà thò ña thöùc baäc baÑoà thò ña thöùc baäc ba

Choy = ax3 + bx2 + cx + dx ∈ [xmin, xmax]

[ ]4,4x

3x2.0x2.0x1.0y 23

−∈

+−−=

Trang Trang Trang Trang Trang Trang Trang Trang 1111111111111111

[ ]4,4x −∈

Vaán ñeà tính giaù trò ña thöùcVaán ñeà tính giaù trò ña thöùcCaùch tính thoâng thöôønga*x*x*x + b*x*x + c*x + d;

Caàn 6 pheùp nhaân vaø 3 pheùp coäng

Caùch tính Horner((a*x + b)*x + c)*x + d

Caàn 3 pheùp nhaân vaø 3 pheùp coäng

Trang Trang Trang Trang Trang Trang Trang Trang 1212121212121212

Caàn 3 pheùp nhaân vaø 3 pheùp coäng

Caùch tính caûi tieán?

Vaán ñeà tính giaù trò ña thöùcVaán ñeà tính giaù trò ña thöùcÑa thöùc baäc nhaát y = ax + b

Caùch tính thoâng thöôøng Caùch tính caûi tieán

yi = axi + b y0yi+1

=

=

ax0 + b

yi + a∆∆∆∆x

Tính Tính

y = ax + b y = ax + b

Trang Trang Trang Trang Trang Trang Trang Trang 1313131313131313

y0 = ax0 + b y0 = ax0 + b

y1 = ax1 + b y1 = y0 + a∆∆∆∆x

y2 = ax2 + b y2 = y1 + a∆∆∆∆x

... ...

yi = axi + b yi = yi-1 + a∆∆∆∆x

yi+1 = axi+1 + b yi+1 = yi + a∆∆∆∆x

... ...

yN = axN+1 + b y0 = yi + a∆∆∆∆x

Vaán ñeà tính giaù trò ña thöùcVaán ñeà tính giaù trò ña thöùcÑa thöùc baäc hai y = ax2 + bx + c

Caùch tính thoâng thöôøng Caùch tính caûi tieán

yi = axi2 + bxi + c y0

∆y0

yi+1

∆yi+1

=

=

=

=

ax02 + bx0 + c

2a∆∆∆∆xx0 + a∆∆∆∆x2 + b∆∆∆∆x

yi + ∆yi

∆yi + 2a∆∆∆∆x2

Trang Trang Trang Trang Trang Trang Trang Trang 1414141414141414

Vaán ñeà tính giaù trò ña thöùcVaán ñeà tính giaù trò ña thöùc

Ña thöùc baäc ba y = ax3 + bx2 + cx + d

Caùch tính caûi tieány0

∆y0

∆∆y0

yi+1

=

=

=

=

ax03 + bx0

2 + cx0 + d

3a∆∆∆∆xx02 + (3a∆∆∆∆x2 + 2b∆∆∆∆x)x0 + a∆∆∆∆x3 + b∆∆∆∆x2 + c∆∆∆∆x

6a∆∆∆∆x2x0 + 6a∆∆∆∆x3 + 2b∆∆∆∆x2

yi + ∆yi

Trang Trang Trang Trang Trang Trang Trang Trang 1515151515151515

yi+1

∆yi+1

∆∆yi+1

=

=

=

yi + ∆yi

∆yi + ∆∆yi

∆∆yi + 6a∆∆∆∆x3

Ñöôøng cong ñöôïc bieåu dieãn baèng Ñöôøng cong ñöôïc bieåu dieãn baèng Phöông trình tham soáPhöông trình tham soá

Baøi toaùnBaøi toaùnInput:Phöông trình tham soáx(t)y(t)

Mieàn tham soát ∈ [tmin, tmax]

Output:

Trang Trang Trang Trang Trang Trang Trang Trang 1717171717171717

Output:

( ) ( ) ( )

( ) ( ) ( )

[ ]π2,0

sin5cos

cos5cos

=

=

t

ttty

tttx( ) ( )

( ) ( )

btz

taty

tatx

=

=

=

sin

cos

Thuaät toaùnThuaät toaùnBöôùc 1 : Chia mieàn tham soá ra N ñoaïn baèng nhau

t t t t

Mieàn tham soá

Trang Trang Trang Trang Trang Trang Trang Trang 1818181818181818

to t1 t2 tN

tmin tmax

Thuaät toaùnThuaät toaùnBöôùc 2 : Tính (x, y)

t

ti tN

Trang Trang Trang Trang Trang Trang Trang Trang 1919191919191919

to

t1

t2

Thuaät toaùnThuaät toaùnBöôùc 3 : Veõ ñöôøng gaáp khuùc ñi qua N + 1 ñieåm

(x2, y2)

(xN, yN)

Trang Trang Trang Trang Trang Trang Trang Trang 2020202020202020

(x0, y0)

(x1, y1)

(x2, y2)

Caøi ñaëtCaøi ñaët// Hàm vẽ đường cong tham số

void DrawCurve2D(CDC *pDC, TPara2D f, double tmin, double tmax)

{

double ∆t, t;

TPoint2D p;

∆t = (tmax – tmin)/N;

t = tmin;

p = f(t);

pDC->MoveTo(ConvertWorldToScreen2D(p));

Trang Trang Trang Trang Trang Trang Trang Trang 2121212121212121

pDC->MoveTo(ConvertWorldToScreen2D(p));

for(int i=1; i<=N; i++)

{

t += ∆t;

p = f(t);

pDC->LineTo(ConvertWorldToScreen2D(p));

}

}

Caøi ñaëtCaøi ñaët// Lớp phương trình tham số

class TPara2D {

virtual TPoint2D operator () (double t) = 0;

}

Trang Trang Trang Trang Trang Trang Trang Trang 2222222222222222

Vaán ñeà phaân ñoaïnVaán ñeà phaân ñoaïn

( )

( )

[ ]π∈

=

=

2,0t

tsinty

tcostx

Trang Trang Trang Trang Trang Trang Trang Trang 2323232323232323

( )

( )

[ ]π∈

=

=

8,0t

tsintty

tcosttx

ÑÖÔØNG CONG BEZIERÑÖÔØNG CONG BEZIER

Ñònh nghóa ñöôøng congÑònh nghóa ñöôøng cong

Inputn +1 ñieåm ñieàu khieån {p0, p1, ... , pn}

Output

p1

Trang Trang Trang Trang Trang Trang Trang Trang 2525252525252525

p0

pn

Ñöôøng cong Bezier baäc moätÑöôøng cong Bezier baäc moät

p(t) = (1 – t)p0 + tp1

t ∈ [0, 1]

hoaëc

p1

Trang Trang Trang Trang Trang Trang Trang Trang 2626262626262626

hoaëcx(t) = (1 – t)p0x + tp1x

y(t) = (1 – t)p0y + tp1y

t ∈ [0, 1]p0

Ñöôøng cong Bezier baäc haiÑöôøng cong Bezier baäc hai

p(t) = (1 – t)2p0 + 2(1 – t)tp1 + t2p2

t ∈ [0, 1]

hoaëc

p2

p1

Trang Trang Trang Trang Trang Trang Trang Trang 2727272727272727

hoaëcx(t) = (1 – t)2p0x + 2(1 – t)tp1x + t2p2x

y(t) = (1 – t)2p0y + 2(1 – t)tp1y + t2p2y

t ∈ [0, 1]

p0

Ñöôøng cong Bezier baäc baÑöôøng cong Bezier baäc ba

p(t) = (1 – t)3p + 3(1 – t)2tp + 3(1 – t)t2p + t3p

p0

p1

p3

p2

Trang Trang Trang Trang Trang Trang Trang Trang 2828282828282828

p(t) = (1 – t)3p0 + 3(1 – t)2tp1 + 3(1 – t)t2p2 + t3p3

t ∈ [0, 1]

hoaëcx(t) = (1 – t)3p0x + 3(1 – t)2tp1x + 3(1 – t)t2p2x + t3p3x

y(t) = (1 – t)3p0y + 3(1 – t)2tp1y + 3(1 – t)t2p2y + t3p3y

t ∈ [0, 1]

Moät soá ñöôøng cong Bezier baäc baMoät soá ñöôøng cong Bezier baäc ba

Trang Trang Trang Trang Trang Trang Trang Trang 2929292929292929

Coâng thöùc xaùc ñònh ñöôøng congCoâng thöùc xaùc ñònh ñöôøng cong

( ) ( )

[ ]( )

( )

hoaëc

t)t1(!kn!k

!ntB vôùi

1,0t

p.tBtp

khieån ñieàu ñieåm 1n bôûi taïo ñöôïc n baäc Bezier cong ñöôøng Ptts

nk

kknnk

nk

0kk

nk −

−=

=

+

=

=

=

Trang Trang Trang Trang Trang Trang Trang Trang 3030303030303030

( ) ( )

( ) ( )

[ ]1,0t

p.tBty

p.tBtx

nk

0kky

nk

nk

0kxk

nk

=

=

∑=

=

=

=

Tính chaát 1Tính chaát 1

Baûo toaøn qua pheùp bieán ñoåi affine.

Trang Trang Trang Trang Trang Trang Trang Trang 3131313131313131

Tính chaát 2Tính chaát 2

Caùc ñieåm ñieåu khieån taïo thaønh bao loài cuûa ñöôøng cong

Trang Trang Trang Trang Trang Trang Trang Trang 3232323232323232

Ñoä thaúng cuûa ñöôøng cong BezierÑoä thaúng cuûa ñöôøng cong Bezier

p0

p1 p2

p3

Trang Trang Trang Trang Trang Trang Trang Trang 3333333333333333

30

322110

pppppppp

f−

−+−+−=

Thuaät toaùn veõ ñöôøng cong BezierThuaät toaùn veõ ñöôøng cong Bezier

Trang Trang Trang Trang Trang Trang Trang Trang 3434343434343434

Thuaät toaùn veõ ñöôøng cong BezierThuaät toaùn veõ ñöôøng cong Bezier

�Xeùt ñöôøng cong Bezier vôùi caùc ñieåm ñieàu khieån {p0, p1, ... , pn}, noái caùc ñieåm lieân tieáp ñeå taïo thaønh ña giaùc ñieàu khieån�Chia moãi ñoaïn trong ña giaùc vôùi tæ soá t:(1-t), noái caùc ñieåm môùi tính, ta coù ñöôïc ña giaùc vôùi soá ñænh ít hôn 1�Laëp laïi böôùc treân cho ñeán khi chæ coøn moät ñieåm ñôn, chính laø ñieåm cuûa ñöôøng cong Bezier öùng vôùi tham soá t

Trang Trang Trang Trang Trang Trang Trang Trang 3535353535353535

Laëp laïi böôùc treân cho ñeán khi chæ coøn moät ñieåm ñôn, chính laø ñieåm cuûa ñöôøng cong Bezier öùng vôùi tham soá t

Ñaïo haømÑaïo haøm

p’(0) = 3(p1 – p0)p’(1) = 3(p3 – p2)p”(0) = 6(p0 – 2p1 + p2)p”(1) = 6(p1 – 2p2 + p3)

pp

Trang Trang Trang Trang Trang Trang Trang Trang 3636363636363636

p0

p3

p2p1

Tính lieân tuïcTính lieân tuïc

•Moät ñöôøng cong Bezier khoâng ñuû phöùc taïp•Gheùp nhieàu ñöôøng cong Bezier vôùi nhau•Yeâu caàu tính lieân tuïc taïi caùc ñieåm gheùp noái

•Lieân tuïc tham soáC0: lieân tuïc tham soá baäc 0, hai Bezier coù cuøng ñaàu muùtC1: C0 + coù cuøng vector tieáp tuyeán taïi ñieåm ñaàu muùt

Trang Trang Trang Trang Trang Trang Trang Trang 3737373737373737

C1: C0 + coù cuøng vector tieáp tuyeán taïi ñieåm ñaàu muùtC2: C1 + coù cuøng ñaïo haøm baäc 2 taïi ñieåm ñaàu muùt

Tính lieân tuïcTính lieân tuïc

Lieân tuïc baäc 0

Lieân tuïc baäc 1

Trang Trang Trang Trang Trang Trang Trang Trang 3838383838383838

Lieân tuïc baäc 2

Tính lieân tuïcTính lieân tuïc

•Lieân tuïc hình hoïc•G1: tieáp tuyeán cuøng höôùng nhöng khoâng caàn cuøng ñoä lôùn•G2: cuøng tieáp tuyeán vaø cuøng ñoä cong

Trang Trang Trang Trang Trang Trang Trang Trang 3939393939393939

Thuaät toaùn veõ ñeä quiThuaät toaùn veõ ñeä quip1 p2

p3

Trang Trang Trang Trang Trang Trang Trang Trang 4040404040404040

p0

p3

l0

r3

l1

l2 l3

r2

r1r0

Thuaät toaùn veõ ñeä quiThuaät toaùn veõ ñeä qui

3211

32100

101

00

4pp2p

r

8pp3p3p

r

2pp

l

pl

++=

+++=

+=

=

Trang Trang Trang Trang Trang Trang Trang Trang 4141414141414141

33

322

1

32103

2102

1

pr

2pp

r

4

8pp3p3p

l

4pp2p

l

2

=

+=

+++=

++=

Thuaät toaùn veõ ñeä quiThuaät toaùn veõ ñeä quiVeõ Bezier (p0, p1, p2, p3)

Baét ñaàuNeáu Thaúng (p0, p1, p2, p3) thìVeõ ñoaïn thaúng p0p3

Ngöôïc laïiChia {pi} thaønh {li} vaø {ri}

Veõ Bezier (l0, l1, l2, l3)

Trang Trang Trang Trang Trang Trang Trang Trang 4242424242424242

0 1 2 3

Veõ Bezier (r0, r1, r2, r3)

Keát thuùc

ÑÖÔØNG CONG HERMITEÑÖÔØNG CONG HERMITE

Ñònh nghóa ñöôøng congÑònh nghóa ñöôøng cong

Input2 ñieåm {p0, p1}2 vector {v0, v1}

Ouput

Trang Trang Trang Trang Trang Trang Trang Trang 4444444444444444

p0 p1

0v�

1v�

Coâng thöùc xaùc ñònh ñöôøng congCoâng thöùc xaùc ñònh ñöôøng cong

p0 p1

0v�

1v�

Trang Trang Trang Trang Trang Trang Trang Trang 4545454545454545

p(t) = H03(t)p0 + H13(t)p1 + H23(t)v0 + H33(t)v1p(t) = (2t3 + 3t2 + 1)p0 + (-2t3 + 3t2)p1 + (t3 – 2t2 + t)v0 + (t3 – t2)v1t ∈ [0, 1]

hoaëc

x(t) = (2t3 + 3t2 + 1)p0x + (-2t3 + 3t2)p1x + (t3 – 2t2 + t)v0x + (t3 – t2)v1xy(t) = (2t3 + 3t2 + 1)p0y + (-2t3 + 3t2)p1y + (t3 – 2t2 + t)v0y + (t3 – t2)v1yt ∈ [0, 1]

Moät soá ñöôøng cong HermiteMoät soá ñöôøng cong Hermite

Trang Trang Trang Trang Trang Trang Trang Trang 4646464646464646

Ñöôøng cong Bezier baäc ba & HermiteÑöôøng cong Bezier baäc ba & Hermite

( )( )B2B3

H1

B0

B1

H0

B3

H1

B0

H0

pp3v

pp3v

pp

pp

−=

−=

=

=

Trang Trang Trang Trang Trang Trang Trang Trang 4747474747474747

H0pB

0p

B1p

B2p

B3p H

1pH0v

H1v

Daãn nhaäpDaãn nhaäp

Bao nhieâu Bao nhieâu Bao nhieâu Bao nhieâu ñöôøng cong?ñöôøng cong?

Trang Trang Trang Trang Trang Trang Trang Trang 4848484848484848

ÑÖÔØNG CONG PHÖÙCÑÖÔØNG CONG PHÖÙC

Ñònh nghóa ñöôøng cong phöùcÑònh nghóa ñöôøng cong phöùc

Ñöôøng cong phöùc laø söï keát hôïp cuûa nhöõng ñöôøng cong cô sôû C = {C1, C2, … , Cn}

C2 C3

C

Trang Trang Trang Trang Trang Trang Trang Trang 5050505050505050

C1

C4

Yeâu caàu thieát keá ñöôøng cong phöùcYeâu caàu thieát keá ñöôøng cong phöùc

Ñoái vôùi ngöôøi thieát keá1. Deã veõ2. Lieân tuïc3. Cuïc boä

Ñoái vôùi ngöôøi laäp trình

Trang Trang Trang Trang Trang Trang Trang Trang 5151515151515151

Ñoái vôùi ngöôøi laäp trình1. Bieåu dieãn deã daøng vaø hieäu quaû2. Tính toaùn hieäu quaû

Tính lieân tuïcTính lieân tuïc

Lieân tuïc baäc 0

Lieân tuïc baäc 1

Trang Trang Trang Trang Trang Trang Trang Trang 5252525252525252

Lieân tuïc baäc 2

Phaân loaïiPhaân loaïi

1. Ñöôøng cong Splines2. Ñöôøng cong B-Splines3. Ñöôøng cong Nurbs (NonUniform Rational B-Splines)

Trang Trang Trang Trang Trang Trang Trang Trang 5353535353535353

CAÙC ÑÖÔØNG CONG SPLINESCAÙC ÑÖÔØNG CONG SPLINES

Ñònh nghóa ñöôøng cong SplinesÑònh nghóa ñöôøng cong SplinesInputn +1 ñieåm {P0, P1, ... , Pn}vaø moät soá thoâng tin khaùcOutputC = {C1, C2, …, Cn} vôùi Ci laø caùc ñöôøng cong Hermite

P

Trang Trang Trang Trang Trang Trang Trang Trang 5555555555555555

P0

P1

P2

Pn-1

Pn

C1

C2Cn

Cardinal SplinesCardinal Splines

- Tham soá tension t

Pk

Pk+1

k0

Pp

Pp

=

=

Trang Trang Trang Trang Trang Trang Trang Trang 5656565656565656

Pk-1

Pk+2

( )( )

( )( )k2k1

1k1k0

1k1

PP2t1

v

PP2t1

v

Pp

−−

=

−−

=

=

+

−+

+

AÛnh höôûng cuûa tham soá tension tAÛnh höôûng cuûa tham soá tension t

Trang Trang Trang Trang Trang Trang Trang Trang 5757575757575757

t<0 t>0

CatmullCatmull--Rom SplinesRom Splines

�Laø tröôøng hôïp ñaëc bieät cuûa Cardinal Splines vôùi t = 0

Pp

Pp

21

10

=

=

P1

P2

P4

Trang Trang Trang Trang Trang Trang Trang Trang 5858585858585858

2PP

v

2PP

v

Pp

131

020

21

−=

−=

=

P0

P1

P3

P4

KochanekKochanek--Bartels SplinesBartels Splines

�Laø tröôøng hôïp toång quaùt cuûa Cardinal Splines- Tham soá tension t- Tham soá bias b- Tham soá continuity c

k0 Pp =

Trang Trang Trang Trang Trang Trang Trang Trang 5959595959595959

( ) ( )( )( ) ( )( )( )[ ]

( ) ( )( )( ) ( )( )( )[ ]1k2kk1k1

k1k1kk0

1k1

k0

PPc1b1PPc1b1t121

v

PPc1b1PPc1b1t121

v

Pp

Pp

+++

+−

+

−−−+−++−=

−+−+−−+−=

=

=

AÛnh höôûng cuûa tham soá bias bAÛnh höôûng cuûa tham soá bias b

Trang Trang Trang Trang Trang Trang Trang Trang 6060606060606060

b<0 b>0

Natural SplinesNatural Splines

�Laø ñöôøng cong lieân tuïc C2

P1

P

v0v1

v3

Trang Trang Trang Trang Trang Trang Trang Trang 6161616161616161

P0

P2

P3

v2

Natural SplinesNatural Splines

P1

P

v0v1

v3

Trang Trang Trang Trang Trang Trang Trang Trang 6262626262626262

P0

P2

P3

v2

Natural SplinesNatural Splines

Tröôøng hôïp 1 : Bieát caùc vector v0 vaø vn

( )

( )

02

0

1

0

PP3

PP3

v

v

v

v

141

141

1

………

………

……………

Trang Trang Trang Trang Trang Trang Trang Trang 6363636363636363

( )

( )

−=

−−

n

2nn

13

n

1n

2

v

PP3

PP3

v

v

v

1

141

141

……

……………

………

………………

………

Natural SplinesNatural Splines

Tröôøng hôïp 2 : Ñaïo haøm baäc hai taïi hai ñieåm P0 vaø Pn ñeàu baèng 0

( )

( )

02

01

1

0

PP3

PP3

v

v

141

12

………

…………

Trang Trang Trang Trang Trang Trang Trang Trang 6464646464646464

( )

( )

( )

( )

=

−−

1nn

2nn

13

02

n

1n

2

1

PP3

PP3

PP3

PP3

v

v

v

v

21

141

141

141

……

…………

………

………………

………

………

Free SplinesFree Splines

�Laø ñöôøng cong lieân tuïc C0

Trang Trang Trang Trang Trang Trang Trang Trang 6565656565656565

ÑÖÔØNG CONG BÑÖÔØNG CONG B--SPLINESSPLINES

Ñònh nghóaÑònh nghóaInputn +1 ñieåm {P0, P1, ... , Pn}, Baäc k – 1, Taäp hôïp tham soá knot {t0, t1, … , tn+k}OutputC = {C1, C2, …, Cn-2} vôùi Ci laø caùc ñöôøng cong Bezier

P1 P2

Trang Trang Trang Trang Trang Trang Trang Trang 6767676767676767P0 P3 P4

P5C1

C2

C3

Coâng thöùcCoâng thöùc

( ) ( )

[ ]

[ ]t,tt neáu1

Vôùi

1,0t

PtNtpni

0ii

ki

=

=

=∑

Trang Trang Trang Trang Trang Trang Trang Trang 6868686868686868

( )[ ]

( ) ( ) ( )tNtttt

tNtttt

tN

khaùc0

t,tt neáu1tN

1k1i

1iki

ki1ki

i1ki

iki

1ii1i

+

++

+−

−+

+

−+

−=

=

Coâng thöùc BCoâng thöùc B--Splines baäc ba ñeàuSplines baäc ba ñeàu

P1 P2

P5p0

p1 p2

p3

3PP2

p

6PP4P

p

211

2100

+=

++=

Trang Trang Trang Trang Trang Trang Trang Trang 6969696969696969

P0 P3 P4

6PP4P

p

3P2P

p

3

3213

212

++=

+=

Coâng thöùc BCoâng thöùc B--Splines baäc hai ñeàuSplines baäc hai ñeàu

P1 P2

P5

p2

p1

Pp

2PP

p 010

=

−=

Trang Trang Trang Trang Trang Trang Trang Trang 7070707070707070

P0 P3 P4

p0

2PP

p

Pp

122

11

−=

=

ÑÖÔØNG CONG HÖÕU TÆÑÖÔØNG CONG HÖÕU TÆ

Ñònh nghóaÑònh nghóa

�Laø ñöôøng cong trong ñoù caùc haøm x(t) vaø y(t) laø caùc haøm ña thöùc höõu tæ

Trang Trang Trang Trang Trang Trang Trang Trang 7272727272727272

Ñöôøng troøn Ñöôøng ellipse

Ñöôøng ConicÑöôøng Conic

Daïng chuaån

yx

Hyperbola

0 b a, 1by

ax

Ellipse

22

2

2

2

2

>=+

Trang Trang Trang Trang Trang Trang Trang Trang 7373737373737373

0 a ax4y

Parabola

0 b a, 1by

ax

2

2

2

2

2

>=

>=−

Ñöôøng ConicÑöôøng Conic

Daïng tham soá

( )

( )( )∞∞−∈

+=

+

−=

,t

t1t2

bty

t1t1

atx

Ellipse

2

2

2

Trang Trang Trang Trang Trang Trang Trang Trang 7474747474747474

( )

( )( )∞∞−∈

−=

+=

+

,t

t1t2

bty

t1t1

atx

Hyperbolat1

2

2

2

Ñöôøng Bezier höõu tæ baäc haiÑöôøng Bezier höõu tæ baäc hai

Input p0(x0, y0) vaø troïng soá w0p1(x1, y1) vaø troïng soá w1p2(x2, y2) vaø troïng soá w2Output

p1,w1

Trang Trang Trang Trang Trang Trang Trang Trang 7575757575757575

p0,w0

p1,w1

p2,w2

Coâng thöùcCoâng thöùc

Heä toïa ñoä thuaàn nhaát

( )

( )

( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

++

+

+

=

2221

210

20

2

2

222

1

1

121

0

0

020

xtBxtBxtB

w

y

x

tB

w

y

x

tB

w

y

x

tB

tw

ty

tx

Trang Trang Trang Trang Trang Trang Trang Trang 7676767676767676

( ) ( ) ( )

( ) ( ) ( )

++

++=

2221

210

20

2221

210

20

221100

wtBwtBwtB

ytBytBytB

Coâng thöùcCoâng thöùc

Heä toïa ñoä ñeà caùc

( )

( )

( ) ( ) ( )

( ) ( ) ( )( ) ( ) ( )

( ) ( ) ( ) 2221

210

20

2221

210

20

2221

210

20

2221

210

20

xxx

wtBwtBwtBytBytBytBwtBwtBwtBxtBxtBxtB

ty

tx

++

++

++

++

=

Trang Trang Trang Trang Trang Trang Trang Trang 7777777777777777

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( ) 2221

210

20

2

22

22

1

11

21

0

00

20

2221

210

20

2

222

1

121

0

020

wtBwtBwtBy

xwtB

y

xwtB

y

xwtB

wtBwtBwtBy

xtB

y

xtB

y

xtB

++

+

+

=

++

+

+

=

Bieåu dieãn Conic baèng Bezier höõu tæBieåu dieãn Conic baèng Bezier höõu tæ

Ñöôøng Ellipse

( )

( )

( )( )

( ) ( ) ( )

( ) ( ) ( )

0tBatBatB

t1t2b

t1a

ty

tx

22

21

20

2

2

++

+

=

Trang Trang Trang Trang Trang Trang Trang Trang 7878787878787878

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( ) 2.tB1.tB1.tBb

0.2.tB

b

a.1.tB

0

a.1.tB

2tBtBtBb2tBbtB0tB

22

21

20

21

21

20

22

21

20

22

21

20

210

++

+

+

=

++

++

=

ÑÖÔØNG CONG NURBSÑÖÔØNG CONG NURBS

Ñònh nghóaÑònh nghóa

�Laø ñöôøng cong phöùc C = {C1, C2, …, Cn-2} vôùi Ci laø caùc ñöôøng cong Bezier höõu tæ

Trang Trang Trang Trang Trang Trang Trang Trang 8080808080808080

top related