You are on page 1of 29

Chöông 6

MAËT CONG

Caùc maët cong ñoùng vai troø quan troïng trong thieát keá kyõ thuaät vaø saûn
xuaát. Theo phöông phaùp thieát keá truyeàn thoáng, maët cong thöôøng ñöôïc bieåu
dieãn baèng caùc hình chieáu vuoâng goùc. Nhôø söï xuaát hieän cuûa ngaønh ñoà hoïa
maùy tính vaø söï phaùt trieån nhanh choùng trong lónh vöïc hình hoïc soá, ta coù theå
thöïc hieän caùc moâ hình maët cong thöïc trong khoâng gian ba chieàu. Giôø ñaây caùc
moâ hình toaùn hoïc coù theå ñöôïc taïo ra, cho pheùp ta phaân tích töông ñoái nhanh
choùng caùc tính chaát quan troïng cuûa caùc maët cong nhö troïng taâm, dieän tích
maët... Töø caùc moâ hình maët cong naøy coù theå ruùt ra caùc thoâng tin caàn thieát cho
saûn xuaát cheá taïo, nhö caùc maõ ñieàu khieån soá... Quaù trình toâ boùng caùc maët
cong treân maùy tính laøm ñôn giaûn quaù trình kieåm tra thieát keá.
Caùc phöông phaùp bieåu dieãn tham soá söû duïng cho ñöôøng cong ôû
chöông 5 cuõng laø caùc coâng cuï hieäu quaû trong thieát keá maët cong. Daïng tham
soá cuûa ñöôøng cong ñöôïc xaùc ñònh baèng phöông trình giaù trò veùctô (vector-
valued equation) nhö sau:

P(t) = [x(t), y(t), z(t)] (6.1)


ÔÛ ñaây chæ caàn moät bieán tham soá, hay goïi laø moät baäc töï do. Cho ñònh
nghóa ñaày ñuû hôn, phöông trình naøy trôû thaønh haøm giaù trò veùctô moät bieán.

Hình 6.1 Maët cong taïo bôûi löôùi


ñöôøng cong theo caùc höôùng s vaø t
2 Chöông 6. Maët cong
Ñeå bieåu dieãn maët cong caàn coù hai bieán tham soá vaø noù vaãn laø phöông
trình giaù trò veùctô:
P(s, t) = [x(s, t), y(s, t), z(s,t)] (6.2)
Caùc veát ñöôøng cong bieåu dieãn maët cong ñöôïc taïo ra baèng caùch giöõ
khoâng ñoåi moät tham soá vaø thay ñoåi tham soá kia. Moät loaït caùc ñöôøng cong taïo
ra theo caùc höôùng s vaø t nhö treân hình 6.1. Giaù trò caùc tham soá s vaø t raøng
buoäc trong khoaûng töø 0 ñeán 1 vaø khi ñoù taäp hôïp caùc ñöôøng cong theo höôùng
s laø P(0, t), P(0,1, t),..., P(0,9, t) vaø taäp hôïp caùc ñöôøng cong theo höôùng t laø
P(s, 0), P(s, 0,1), ..., P(s, 1). Do ñoù, ñeå taïo maët cong caàn phaûi taïo caùc ñöôøng
cong caáu taïo neân maët cong. Ñieàu naøy aùp duïng cho caùc maët cong ñöôïc bieåu
dieãn baèng coâng thöùc giaûi tích hoaëc caùc maët cong töï do, nhö seõ trình baøy ôû
caùc muïc sau.

6.1 CAÙC MAËT CONG TROØN XOAY


Hoï maët cong ñôn giaûn nhaát ñöôïc taïo thaønh baèng pheùp quay moät
ñöôøng cong phaúng chung quanh moät truïc. Hình 6.2 chæ ra moät maët truï troøn
ñöôïc taïo thaønh baèng caùch quay moät ñoaïn thaúng song song vôùi truïc z quanh
truïc z moät goùc 2π (3600). Neáu ñöôøng thaúng khoâng song song vôùi truïc xoay,
nhö treân hình 6.3 thì ta thu ñöôïc maët coân. Caùc daïng maët cong khaùc nhau thu
ñöôïc töø caùc ñieàu kieän khaùc nhau.

Line segment – Phaân ñoaïn ñöôøng thaúng

Hình 6.2 Maët truï troøn ñöôïc taïo baèng caùch xoay ñöôøng thaúng AB quanh truïc z

Moïi ñieåm treân maët cong troøn xoay laø haøm soá cuûa hai tham soá t vaø θ.
Tham soá t bieåu dieãn ñoái töôïng ñöôïc xoay vaø θ bieåu dieãn goùc xoay. Ví duï
trong hình 6.3a vaø b, t bieåu dieãn höôùng cuûa ñoaïn thaúng vaø θ laø goùc xoay
quanh truïc z. Moät ñieåm treân ñoaïn thaúng ñöôïc bieåu dieãn baèng [x(t), 0, z(t)] vaø
khi xoay moät goùc θ radians noù trôû thaønh [x(t)cosθ, x(t)sinθ, z(t)]. Do ñoù, moät
caùch toång quaùt, moät ñieåm treân maët cong troøn xoay thu ñöôïc baèng pheùp xoay
quanh truïc z ñöôïc xaùc ñònh bôûi:
P(t, θ) = [x(t)cosθ, x(t)sinθ, z(t)] (6.3a)
hoaëc ôû daïng ma traän:
3 Chöông 6. Maët cong
⎡cosθ sinθ 0 0⎤
⎢ ⎥
0 0 0 0⎥
P(t, θ) = [ x(t) 0 z(t) 1]⎢ (6.3b)
⎢ 0 0 1 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦

Ví duï 6.1
Haõy taïo moät maët noùn baèng caùch xoay troøn ñoaïn thaúng AB vôùi
A=(1, 0, 1) vaø B = (7, 0, 7) quanh truïc z. .

Hình 6.3 Caùc maët cong troøn xoay: a) Maët noùn cuït, b) Maët ñóa roãng

Caùch giaûi
Ñöôøng thaúng AB nhö treân hình 6.3a coù theå bieåu dieãn ôû daïng tham soá
L(t) = [x(t), y(t), z(t)] = A + (B -A)t. Töø ñaây, moãi thaønh phaàn cuûa ñöôøng thaúng
ñöôïc vieát laïi nhö sau:
x(t) = 1 + (7 - 1)t = 1+ 6t
y(t) = 0
z(t) = 1 + (7 - 1)t = 1 +6t
Moïi ñieåm treân maët noùn ñöôïc xaùc ñònh baèng phöông trình 6.3a. Ví duï
vôùi t = 0,4 vaø θ = π/2 radians,
⎛ π⎞ ⎡ π π ⎤
P⎜ 0,4, ⎟ = ⎢(1 + 6(0,4))cos , (1 + 6(0,4))sin , 1 + 6(0,4)⎥
⎝ 2⎠ ⎣ 2 2 ⎦
= [0 3,4 3,4]
Döïa treân phöông trình 6.3, moät maët cong troøn xoay coù theå ñöôïc veõ
baèng caùc chu tuyeán theo caùc höôùng cuûa t vaø θ. Vôùi töøng giaù trò cuûa θ ta veõ
ñöôïc caùc ñöôøng thaúng hoaëc ñöôøng cong xoay. Ngoaøi ra, vôùi moãi giaù trò t ñöôïc
choïn, moät chu tuyeán troøn cuõng ñöôïc veõ, nhö treân hình 6.4.
4 Chöông 6. Maët cong

Hình 6.4 Maët cong troøn xoay thu ñöôïc baèng caùch taïo caùc chu tuyeán theo caùc
höôùng t vaø θ tham soá hoùa

Moät maët xuyeán ñôn giaûn coù theå taïo ra baèng caùch xoay troøn moät
ñöôøng troøn naèm trong maët phaúng xz quanh truïc z, nhö treân hình 6.5. Taâm
ñöôøng troøn coù toïa ñoä laø (a, 0, 0), vaø ñöôøng troøn ñöôïc bieåu dieãn ôû daïng tham
soá laø [(a + rcos φ), 0, asinφ]. Maët xuyeán ñöôïc bieåu dieãn bôûi:
P(φ, θ) = [(a + rcos φ)cos θ, (a + rcos φ)sin θ, asin φ] (6.4)
Trong tröôøng hôïp naøy, caùc chu tuyeán theo caùc höôùng φ vaø θ laø caùc
ñöôøng troøn.

Hình 6.5 Maët xuyeán taïo bôûi pheùp xoay troøn moät ñöôøng troøn quanh truïc z
Caùc maët cong troøn xoay cuõng coù theå thu ñöôïc baèng caùch xoay troøn
caùc ñöôøng cong töï do, nhö Bezier hoaëc B-spline, quanh moät truïc. Ví duï
tröôøng hôïp ñöôøng cong baäc ba, maët cong troøn xoay ñöôïc bieåu dieãn ôû daïng
ma traän nhö sau:
P(t, θ) = [t][M][V][TR]θ (6.5)
trong ñoù [t] = ma traän tham soá
5 Chöông 6. Maët cong
[M] = ma traän heä soá
[V] = ma traän hình hoïc
[TR]θ = ma traän pheùp xoay troøn quanh truïc z
Vôùi pheùp xoay troøn quanh truïc z nhö phöông trình 6.3b:
⎡cos θ sin θ 0 0⎤
⎢ ⎥
0 0 0 0⎥
[TR ] θ = ⎢ (6.6)
⎢ 0 0 1 0⎥
⎢ ⎥
⎣ 0 0 0 1⎦
Ví duï 6.2
Xeùt maët cong troøn xoay taïo bôûi pheùp xoay troøn quanh truïc z moät
ñöôøng cong Bezier baäc ba xaùc ñònh bôûi caùc ñieåm ñieàu khieån P1 = (1, 0, 2),
P2 = (3, 0, 4), P3 = (2, 0, 6), P4 = (5, 0, 7). Xaùc ñònh ñieåm naèm treân maët cong
vôùi t = 0,5 vaø θ = π/4 radian.
Caùch giaûi
AÙp duïng phöông trình 6.5
⎡ 2 2 ⎤
⎡ −1 3 −3 1⎤ ⎡ 1 0 2 1⎤ ⎢ 0 0⎥
⎢ ⎥⎢ ⎥⎢ 2 2
3 −6 3 0⎥ ⎢3 0 4 1⎥ ⎥
[
P(0,5, π / 4) = ( 21 )3 ( 21 )2 ]
( 21 ) 1 ⎢
⎢ −3 3 0 0⎥ ⎢2

0 6 1⎥ ⎢
0 0 0 0⎥
⎢ ⎥⎢ ⎥⎢ 0 0 1 0⎥
⎣1 0 0 0⎦ ⎣5 0 7 1⎦ ⎥
⎢⎣ 0 0 0 1⎥⎦
= [186
, ,
186 4,88 1]
Hình 6.6 chæ ra maët cong naøy.
Revolved Bezier curve - Ñöôøng cong Bezier
ñöôïc xoay

Hình 6.6 Maët cong troøn xoay taïo bôûi ñöôøng cong Bezier baäc ba
6 Chöông 6. Maët cong
6.2 PHEÙP QUEÙT HÌNH
Pheùp queùt hình laø moät phöông phaùp taïo maët cong baèng caùch dòch
chuyeån ñöôøng thaúng, phaân ñoaïn ñöôøng cong, ña giaùc... doïc theo hoaëc voøng
quanh ñöôøng daãn höôùng ñaõ ñònh. Caùc daïng maët cong naøy thöôøng gaëp trong
moâ hình hoùa hình hoïc vaø caùc öùng duïng kyõ thuaät khaùc nhau, nhö treân hình
6.7. Caùc ñöôøng daãn höôùng trong pheùp queùt hình coù theå laø ñöôøng thaúng hoaëc
ñöôøng cong. Caùc maët cong queùt hình ñöôïc bieåu dieãn ôû daïng tham soá nhö
sau:
P(t, s) = Q(t)[T(s)] (6.7)
trong ñoù, Q(t) laø phöông trình tham soá cuûa ñöôøng thaúng hoaëc ñöôøng cong vaø
[T(s)] laø pheùp queùt hình döïa theo hình daïng ñöôøng daãn höôùng.

(a) Pheùp queùt hình tònh tieán

Ña giaùc ñöôïc xoay (b) Ñöôøng cong ñöôïc xoay


Hình 6.7 (b) Pheùp queùt hình xoay

Pheùp queùt hình bao goàm pheùp tònh tieán, pheùp thay ñoåi tæ leä, pheùp
xoay, hoaëc phoái hôïp caùc pheùp bieán hình naøy, nhö treân hình 6.7. Ví duï neáu
ñöôøng daãn höôùng laø ñöôøng thaúng baét ñaàu taïi goác toïa ñoä thì noù coù theå bieåu
dieãn döôùi daïng tham soá sau:
x(s) = as
y(s) = bs (6.8)
z(s) = cs
7 Chöông 6. Maët cong
khi ñoù

⎡1 0 0 0⎤
⎢ ⎥
0 1 0 0⎥
[ T(s)] = ⎢ 0≤ s≤1 (6.9)
⎢0 0 1 0⎥
⎢ ⎥
⎣as bs cs 1⎦
töông töï nhö pheùp tònh tieán ba chieàu moâ taû ôû muïc 6.3.2.

Neáu ñöôøng daãn höôùng taïo ra söï xoay quanh caùc truïc toïa ñoä thì caùc
goùc xoay töông öùng caàn phaûi ñöa vaøo pheùp queùt hình. Khi moät ña giaùc kheùp
kín ñöôïc xoay hoaëc tònh tieán ñeå taïo ra maët cong queùt hình, moät trong caùc
caùch ñeå xaùc ñònh hình daïng cuoái cuøng cuûa maët cong laø kieåm tra höôùng phaùp
tuyeán cuûa ña giaùc. Phöông phaùp thöôøng söû duïng laø ñaët phaùp tuyeán theo
höôùng tieáp tuyeán töùc thôøi cuûa ñöôøng daãn höôùng. Ví duï 6.3 chæ ra caùch thöïc
hieän phöông phaùp naøy.

Ví duï 6.3
Haõy taïo moät maët cong queùt hình baèng caùch tònh tieán tam giaùc naèm
trong maët phaúng xy doïc theo ñöôøng daãn höôùng z = 8s, y = (sin(πs) - 1).
Caùc ñænh cuûa tam giaùc laø P1 = (-5, 0, 0), P2 = (0, 5, 0), P3 = (5, 0, 0). Giöõ cho
phaùp tuyeán cuûa tam giaùc theo höôùng tieáp tuyeán töùc thôøi cuûa ñöôøng daãn
höôùng.

Caùch giaûi
Trong baøi toaùn naøy, ñöôøng daãn höôùng naèm treân maët phaúng yz vaø
phaùp tuyeán cuûa maët cong ñöôïc quay quanh truïc x ñeå giöõ cho noù truøng vôùi
tieáp tuyeán cuûa ñöôøng daãn höôùng. Taïi moïi thôøi ñieåm, phaùp tuyeán luoân song
song vôùi maët phaúng yz (xem hình beân döôùi).

Normal (Veùc tô phaùp tuyeán)

Giaù trò ñaàu tieân duøng cho tính toaùn laø tieáp tuyeán töùc thôøi cuûa ñöôøng
daãn höôùng. Noù ñöôïc xaùc ñònh bôûi:
⎡ dx dy dz ⎤
⎢ ds ds ds ⎥ = [0 π cos(πs) 8]
⎣ ⎦
8 Chöông 6. Maët cong
Tieáp theo, goùc xoay cuûa phaùp tuyeán quanh truïc x ñöôïc xaùc ñònh nhö
sau:
φ = arctg(dy/dz) = arctg [πcos(πs)/8]

Pheùp queùt hình bao goàm moät pheùp tònh tieán theo ñöôøng daãn höôùng
(z = 8s, y = sin(πs) - 1) vaø moät pheùp quay quanh truïc x moät goùc φ. Do ñoù

⎡1 0 0 0⎤
⎢ ⎥
0 cos φ sin φ 0⎥
[ T(s)] = ⎢
⎢0 − sin φ cos φ 0⎥
⎢ ⎥
⎣0 sin(πs) − 1 8s 1⎦
Taïi vò trí s = 0,25 treân ñöôøng daãn höôùng, goùc quay laø (xem hình keøm
theo)
φ = arctg(y/x)
φ = arctg[πcos(π/4)/8] = 0,2708 rad
φ = 15,520
Normal - Veùctô phaùp tuyeán

Thay caùc giaù trò naøy (s = 0,25 vaø φ = 15,520) vaøo ma traän pheùp queùt
hình, suy ra:
⎡1 0 0 0⎤
⎡ −5 0 0 1⎤ ⎢ ⎥
⎢ ⎥ 0 0,964 0,268 0⎥
P(0,25, 15,520 ) = ⎢ 0 5 0 1⎥ ⎢
⎢0 −0,268 0,964 0⎥
⎢⎣ 5 0 0 1⎥⎦ ⎢ ⎥
⎣0 −0,293 2,0 1⎦
⎡−5,0 −0,293 2,0 1⎤
⎢ ⎥
=⎢ 0 4,525 3,338 1⎥
⎢⎣ 5,0 −0,293 2,0 1⎥⎦
Maët cong queùt hình ñöôïc chæ ra treân hình 6.8. Haøm cosin bieåu dieãn
bôûi ñænh P3 ñöôïc chæ ra treân hình. Tam giaùc quay nhö laø maët cong queùt hình
sao cho phaùp tuyeán cuûa tam giaùc luoân luoân song song vôùi tieáp tuyeán cuûa
ñöôøng daãn höôùng.
Pheùp queùt hình cuûa caùc ñöôøng cong töï do ñöôïc thöïc hieän töông töï.
Phöông trình maët cong ñöôïc ñònh nghóa bôûi:
P(t, s) = [t][M][V][T(s)] (6.10)
9 Chöông 6. Maët cong
trong ñoù T(s) bieåu dieãn pheùp queùt hình.

Haøm cosin

Hình 6.8 Maët cong queùt hình coù ñöôïc baèng söï phoái hôïp pheùp quay vaø pheùp
tònh tieán

Ví duï 6.4
Xeùt ñöôøng cong B-spline baäc ba xaùc ñònh bôûi caùc ñieåm ñieàu khieån
P1 = (0, 5, 0), P2 = (3, 4, 0), P3 = (2, 0, 0) vaø P4 = (5, 0, 0). Haõy tònh tieán
ñöôøng cong naøy naêm ñôn vò theo truïc z ñeå taïo ra maët cong queùt hình.
Caùch giaûi
Vôùi caùc ñieàu kieän cuûa baøi toaùn, phöông trình 6.10 coù theå bieåu dieãn
nhö sau:
⎡ −1 3 −3 1⎤ ⎡ 0 5 0 1⎤ ⎡ 1 0 00⎤
⎢ ⎥⎢ ⎥
1 3 −6 3 0⎥ ⎢3 4 0 1⎥ ⎢⎢0 1 0 0⎥⎥
[
P(t, s) = t 3 t2 ]
t 1 ⎢
6 ⎢ −3 0 3 0⎥ ⎢ 2 0 0 1⎥ ⎢0 0 1 0⎥
⎢ ⎥⎢ ⎥⎢ ⎥
⎣1 4 1 0⎦ ⎣ 5 0 0 1⎦ ⎣0 0 5s 0⎦
Neáu choïn moät vò trí cuï theå, ví duï t = 0,2 vaø s = 0,8 thì
P(0,2, 0,8) = [2,464 2,949 4 1]

6.3 CAÙC MAËT CONG TÖÏ DO


Töông töï nhö tröôøng hôïp ñöôøng cong, moät vaøi maët cong khoâng theå
ñöôïc moâ taû ñaày ñuû baèng caùc bieåu dieãn giaûi tích nhö ñaõ ñeà caäp ôû caùc muïc
treân. Trong soá ñoù coù caùc maët cong söû duïng trong thieát keá thaân oâ toâ, voû taøu,
caùnh maùy bay... Chuùng thöôøng ñöôïc bieåu dieãn bôûi moät loaït caùc “oâ löôùi” gioáng
nhö caùch raùp noái caùc mieáng vaù thaønh taám chaên. Caùc coâng thöùc cô sôû moâ taû
ôû chöông 5 bao goàm: Hermite, Bezier vaø B-spline coù theå söû duïng trong thieát
keá maët cong töï do.
10 Chöông 6. Maët cong
6.3.1 Maët cong tham soá baäc ba
Maët cong tham soá baäc ba laø söï môû roäng cuûa ñöôøng cong Hermite moâ
taû trong muïc 4.4.2. Maët cong ñöôïc taïo bôûi caùc ñöôøng bieân laø caùc ñöôøng cong
tham soá baäc ba hoaëc caùc ñöôøng cong Hermite vaø phaàn beân trong ñöôïc xaùc
ñònh bôûi caùc haøm lieân keát trôn. Hình 6.9 chæ ra moät oâ löôùi nhö vaäy. Moãi ñöôøng
bieân ñöôïc bieåu dieãn bôûi caùc ñieåm cuoái cuûa noù vaø caùc veùc tô tieáp tuyeán taïi
caùc ñieåm cuoái vaø ñöôïc xaùc ñònh bôûi phöông trình 5.38, ñöôïc vieát laïi nhö sau:

⎡ 2 −2 1 1 ⎤ ⎡ P(0) ⎤
⎢ ⎥⎢ ⎥
−3 3 −2 −1⎥ ⎢ P(1) ⎥
[
P(t) = t 3 t2 t 1⎢]
⎢ 0 0 1 0 ⎥ ⎢P'(0)⎥
⎢ ⎥⎢ ⎥
⎣ 1 0 0 0 ⎦ ⎣ P'(1) ⎦
hoaëc
P(t) = [t][M]H[G]H

Phöông trình töông töï nhaän ñöôïc cho tham soá s ñeå xaùc ñònh caùc
ñöôøng bieân töông öùng theo höôùng naøy. Ghi chuù raèng ma traän M ñöôïc söû
duïng cho caû hai höôùng tham soá s vaø t, vaø caùc giaù trò cuûa P thay ñoåi phuï
thuoäc vaøo vò trí cuûa ñöôøng cong.

Veùctô xoaén (Twist vector)

Ñöôøng cong bieân Veùctô tieáp tuyeán

Hình 6.9 Maët cong tham soá baäc ba vaø caùc tham soá ñònh nghóa chuùng

Vieäc ñònh nghóa chæ caùc ñöôøng cong bieân moät caùch rieâng leû chöa theå
ñònh daïng hoaøn toaøn maët cong. Vôùi cuøng caùc ñöôøng bieân, caùc maët cong khaùc
nhau coù theå ñöôïc ñònh nghóa bôûi caùc hình daïng beân trong khaùc nhau, nhö
treân hình 6.10. Do ñoù, ñeå ñònh daïng ñöôïc hoaøn toaøn maët cong, hình daïng
beân trong treân vuøng laân caän cuûa moãi goùc ñöôïc ñieàu khieån bôûi caùc cross
derivative ñaët taïi caùc goùc, coøn ñöôïc goïi laø veùc tô xoaén (twist vector) (xem hình
6.9).
11 Chöông 6. Maët cong
Vì söï bieåu dieãn maët cong tham soá baäc ba caàn coù caùc haøm cô sôû cuûa
hai bieán s vaø t, theo logic thì cô sôû cuûa maët cong ñöôïc xaùc ñònh baèng tích caùc
veùc tô cô sôû khaùc nhau naøy. Noù ñöôïc goïi laø tích maët cong hoaëc tích tensô.

(a) (b)
Hình 6.10 Söï thay ñoåi veùctô xoaén daãn ñeán hình daïng cuûa maët
cong tham soá baäc ba thay ñoåi
Do ñoù, maët cong tham soá baäc ba hoaëc coøn goïi laø maët cong baäc ba
keùp COONS ñöôïc bieåu dieãn bôûi:
P(s, t) = [s][M] H [G] H [M] TH [ t ] T (6.11)
bao haøm tính toaùn caû hai höôùng tham soá. Ma traän [M]H gioáng nhö ma traän söû
duïng cho ñuôøng cong vaø ma traän [G]H ñöôïc bieåu dieãn nhö sau:
⎡ P(0,0) P(01, ) Pt (0,0) Pt (01 , ) ⎤⎥


⎢ P(10
, ) P(11 , ) Pt (10, ) Pt (11, ) ⎥⎥
[G]H = ⎢ ⎥ (6.12)
⎢Ps (0,0) Ps (01
, ) Pst (0,0) Pst (01, )⎥
⎢ ⎥
⎢ P (10
⎣ s , ) Ps (11 , ) Pst (10
, ) Pst (11
, ) ⎥⎦
coù theå taùch nhoû ra nhö sau:
⎡ veùc tô theo ⎤
⎢ Vò trí ⎥
⎢ caùc goùc höôùn g t ⎥
⎢ taïi caùc goùc ⎥
[G] H = ⎢ ⎥
Veùc tô theo
⎢ tích veùc tô ⎥
⎢höôùn g s ⎥
⎢ taïi caùc goùc taïi caùc goùc ⎥
⎣ ⎦
Caùc daïng maët cong khaùc nhau thu ñöôïc baèng caùch thay ñoåi vò trí caùc
ñieåm goùc, caùc veùc tô tieáp tuyeán hoaëc caùc veùc tô xoaén. Hình 6.11 chæ ra ví duï
veà vieäc thay ñoåi veùc tô tieáp tuyeán vôùi cuøng taäp hôïp caùc ñieåm goùc. Söï thay
ñoåi caùc veùc tô xoaén ñaõ ñöôïc chæ ra treân hình 6.10.
Coù theå laøm ñôn giaûn maët cong tham soá baäc ba baèng caùch gaùn giaù trò
cho taát caû caùc veùc tô xoaén baèng 0. Ñaây goïi laø oâ löôùi Ferguson hoaëc F-patch.
Maëc duø F-patch laøm ñôn giaûn phöông trình maët cong, nhöng chuùng thöôøng
12 Chöông 6. Maët cong
khoâng ñöôïc söû duïng trong thöïc teá vì maët cong bò laøm phaúng ra taïi caùc goùc.
Trong haàu heát caùc öùng duïng kyõ thuaät caùc veùc tô xoaén khaùc 0 ñöôïc söû duïng.
Caùc oâ löôùi tham soá baäc ba vaø F-patch coù theå raùp töøng maûnh laïi vôùi
nhau vaø caùc caïnh seõ coù tính lieân tuïc C1.

(a) (b)
Hình 6.11 Söï thay ñoåi caùc veùc tô tieáp tuyeán daãn ñeán hình daïng maët cong
tham soá baäc ba thay ñoåi

Hình 6.12 Bieåu dieãn phaùp tuyeán


cuûa maët cong tham soá baäc ba

Phaùp tuyeán cuûa maët cong cuõng raát quan troïng trong caùc öùng duïng
moâ hình hoùa hình hoïc, nhö vieäc tính toaùn ñieàu khieån soá hoaëc phaùt hieän
chöôùng ngaïi vaät cho caùc roâ boát. Phaùp tuyeán taïi baát kyø ñieåm naøo cuûa ñöôøng
cong tham soá baäc ba ñöôïc xaùc ñònh baèng tích veùctô caùc ñaïo haøm theo tham
soá taïi ñieåm ñoù, nhö treân hình 6.12:

n = Ps' × Pt' (6.13)


Ví duï 6.5
Moät maët cong tham soá baäc ba keùp ñöôïc xaùc ñònh bôûi caùc thaønh phaàn
trong heä truïc toïa ñoä Decarte nhö sau:
13 Chöông 6. Maët cong
⎡5 1 0 2 ⎤⎡t 3⎤
⎢ ⎥⎢ ⎥
1 1 0 1 ⎥⎢t2 ⎥
x(s, t) = ⎡s 3 s2 s 1⎤ ⎢
⎣⎢ ⎦⎥ ⎢ 1 2 1 1 ⎥⎢ t ⎥
⎢ ⎥⎢ ⎥
⎣0 2 0 −1⎦ ⎢⎣ 1 ⎥⎦
⎡1 0 1 1⎤ ⎡ t 3 ⎤
⎢ ⎥⎢ ⎥
0 0 1 0⎥ ⎢ t 2 ⎥
y(s, t) = ⎡s 3 s2 s 1⎤ ⎢
⎢⎣ ⎥⎦ ⎢3 1 0 2⎥ ⎢ t ⎥
⎢ ⎥⎢ ⎥
⎣1 0 2 1⎦ ⎢⎣ 1 ⎥⎦
⎡0 1 2 1⎤ ⎡ t 3 ⎤
⎢ ⎥⎢ ⎥
2 1 0 0⎥ ⎢ t 2 ⎥
z(s, t) = ⎡s 3 s2 s 1⎤ ⎢
⎣⎢ ⎦⎥ ⎢0 5 1 0⎥ ⎢ t ⎥
⎢ ⎥⎢ ⎥
⎣0 1 0 0⎦ ⎢⎣ 1 ⎥⎦
Haõy tính caùc veùc tô tieáp tuyeán theo caùc höôùng tham soá taïi ñieåm t = 1, s = 1/2.

Caùch giaûi
T
Chuù yù raèng ba ma traän soá töông öùng vôùi tích veùc tô [M] H [G] H [M] H
cuûa maët cong tham soá baäc ba toång quaùt trong phöông trình 6.9. Ñeå tìm caùc
veùc tô tieáp tuyeán, caùc ñaïo haøm theo s vaø t phaûi ñöôïc tính nhö sau:
⎡t 3 ⎤
⎢ ⎥
⎡Ma traän ⎤ ⎢ t 2 ⎥
[
P' s = 3s 2 2s 1 0 ⎢ ] ⎥
⎣ töông öùng⎦ ⎢ t ⎥
⎢ ⎥
⎢⎣ 1 ⎥⎦
⎡3 t 2 ⎤
⎢ ⎥
⎡Ma traän ⎤ ⎢ 2t ⎥
vaø [
P' t = s 3 s2 s 1⎢ ] ⎥
⎣ töông öùng⎦ ⎢ 1 ⎥
⎢ ⎥
⎢⎣ 0 ⎥⎦
Do ñoù, taïi s = 1/2 vaø t = 1,
14 Chöông 6. Maët cong
⎡5 1 0 2 ⎤ ⎡1⎤
⎢1 1 0 1 ⎥⎥ ⎢⎢1⎥⎥
x s = [0,75 1 1 0]⎢ = 14
⎢1 2 1 1 ⎥ ⎢1⎥
⎢ ⎥⎢ ⎥
⎣0 2 0 −1⎦ ⎣1⎦
⎡1 0 1 1⎤ ⎡1⎤
⎢0 0 1 1⎥⎥ ⎢⎢1⎥⎥
y s = [0,75 1 1 0]⎢ = 9,25
⎢3 1 0 1⎥ ⎢1⎥
⎢ ⎥⎢ ⎥
⎣1 0 2 1⎦ ⎣1⎦
⎡0 1 2 1⎤ ⎡1⎤
⎢2 1 0 0⎥⎥ ⎢⎢1⎥⎥
z s = [0,75 1 1 0]⎢ = 12
⎢0 5 1 0⎥ ⎢1⎥
⎢ ⎥⎢ ⎥
⎣0 1 0 0⎦ ⎣1⎦
vaø P′s = 14i + 9,25j + 12k

Ngoaøi ra,
⎡5 1 0 2 ⎤ ⎡3⎤
⎢1 1 0 1 ⎥⎥ ⎢⎢ 2 ⎥⎥
x t = [0,125 0,25 0,50 1]⎢ = 11,375
⎢1 2 1 1 ⎥ ⎢ 1⎥
⎢ ⎥⎢ ⎥
⎣0 2 0 − 1⎦ ⎣ 0 ⎦
⎡1 0 1 1⎤ ⎡ 3 ⎤
⎢0 0 1 1⎥⎥ ⎢⎢ 2 ⎥⎥
yyt s = [0,125 0,25 0,50 1]⎢ = 11,25
⎢3 1 0 1 ⎥ ⎢ 1⎥
⎢ ⎥⎢ ⎥
⎣1 0 2 1⎦ ⎣ 0 ⎦
⎡0 1 2 1⎤ ⎡ 3 ⎤
⎢ ⎥⎢ ⎥
2 1 0 0 ⎥ ⎢ 2⎥
zzst = [0,125 0,25 0,50 1]⎢ = 10
⎢0 5 1 0 ⎥ ⎢ 1⎥
⎢ ⎥⎢ ⎥
⎣0 1 0 0⎦ ⎣0⎦
vaø
P′t = 11,375i + 11,25j + 10k

6.3.2 Maët cong Bezier

Maëc daàu caùc maët cong tham soá baäc ba laø coâng cuï thieát keá hieäu quaû,
nhöng chuùng vaãn coù khuyeát ñieåm laø caùc giaù trò tieáp tuyeán vaø caùc veùc tô xoaén
cung caáp cho ngöôøi söû duïng khoâng mang tính tröïc giaùc. Ngöôïc laïi, caùc maët
cong Bezier deã daøng taïo ra vaø söûa chöõa moät caùch tröïc giaùc hôn nhieàu.
Maët cong Bezier ñöôïc ñònh nghóa baèng moät pheùp taïo phöông trình
ñöôøng cong ñôn giaûn. Tích tensô duøng trong ñònh nghóa maët cong tham soá
baäc ba ñöôïc aùp duïng laàn nöõa vôùi cuøng hai höôùng tham soá s vaø t nhö treân
15 Chöông 6. Maët cong
hình 6.13. Moïi ñieåm treân maët cong coù theå ñònh vò trí baèng caùch gaùn giaù trò cho
caëp giaù trò tham soá xaùc ñònh bôûi phöông trình:
n m
Q(s, t) = ∑∑V B
i= 0 j = 0
i,j i,n (s)B j,m (t) 0 ≤ s, t ≤ 1 (6.14)

Nhö trong tröôøng hôïp ñöôøng cong Bezier, Vi,j ñònh nghóa caùc ñænh
ñieàu khieån vaø Bi,n(s), Bj,m(t) laø caùc haøm lieân keát trôn Bernstein theo caùc höôùng
s vaø t. Chuù yù raèng baäc cuûa caùc haøm lieân keát trôn khoâng nhaát thieát phaûi baèng
nhau theo hai höôùng tham soá. Ví duï noù coù theå laø baäc ba theo höôùng s vaø baäc
hai theo höôùng t.
Caùc tính chaát cuûa maët cong Bezier ñöôïc quy ñònh bôûi caùc haøm lieân
keát trôn. Ví duï:
• Maët cong coù hình daïng toång quaùt theo caùc ñieåm ñieàu khieån.
• Maët cong naèm trong mieàn bao loài cuûa caùc ñieåm ñieàu khieån.
• Caùc ñieåm goùc cuûa maët cong vaø caùc ñieåm ñieàu khieån taïi goùc truøng
nhau.

Hình 6.13 Löôùi ñieàu khieån cuûa maët cong Bezier baäc ba keùp

Caùc ñieåm ñieàu khieån cuûa maët cong Bezier coù cuøng chöùc naêng nhö
caùc tham soá söû duïng trong oâ löôùi tham soá baäc ba. Boán ñieåm ñieàu khieån goùc
naèm treân chính maët cong, nhö ñaõ trình baøy ôû treân. Caùc veùc tô tieáp tuyeán
Hermite taïi caùc goùc ñöôïc xaùc ñònh bôûi vò trí caùc ñieåm ñieàu khieån Bezier keà
saùt caùc ñöôøng cong bieân. Ví duï, treân hình 6.13 caùc veùc tô tieáp tuyeán taïi s = 0
treân ñöôøng bieân laø V11V12 vaø V14V13. Taát caû caùc veùc tô tieáp tuyeán khaùc cuõng
ñuùng nhö vaäy. Caùc ñieåm ñieàu khieån naèm beân trong nhö V22, V23, V32, V33 xaùc
ñònh hình daïng beân trong cuûa maët cong gioáng nhö veùc tô xoaén trong maët
cong tham soá baäc ba. Ngöôøi söû duïng chæ caàn di chuyeån moät caùch ñôn giaûn
caùc ñieåm naøy ñeå ñieàu chænh hình daïng cuûa maët cong. Phöông phaùp naøy
mang tính tröïc giaùc hôn nhieàu so vôùi phöông phaùp söû duïng trong maët cong
tham soá baäc ba, vì lyù do gaëp phaûi nhöõng khoù khaên khi gaùn giaù trò thích hôïp
cho caùc veùc tô tieáp tuyeán vaø veùc tô xoaén. Hình 6.14 chæ ra aûnh höôûng cuûa söï
16 Chöông 6. Maët cong
di chuyeån caùc ñieåm ñieàu khieån taïi caùc ñöôøng bieân hoaëc taïi caùc phaàn beân
trong cuûa maët cong.

Hình 6.14 (a) Maët cong Bezier. (b) Caùc ñieåm ñieàu khieån naèm trong ñöôïc
thay ñoåi ñeå “laøm phaúng“ maët cong. (c) Caùc ñieåm ñieàu khieån treân
ñöôøng bieân ñöôïc thay ñoåi
17 Chöông 6. Maët cong

Maët cong Bezier coù theå bieåu dieãn ôû daïng ma traän nhö sau:
Q (s, t ) = [ s][ M] B [ V] B [ M}BT [ t ] T (6.15)
Vôùi maët cong baäc ba keùp, ma traän ñöôïc ruùt goïn thaønh:
⎡−1 3 − 3 1⎤
⎢ ⎥
[
Q(s, t) = s 3 s2 s 1⎢ ] 3 −6
⎢− 3 3
3 0⎥
0 0⎥
⎢ ⎥
⎣ 1 0 0 0⎦
(6.16)
⎡V0,0 V0,1 V0,2 V0,3 ⎤ ⎡ − 1 3 − 3 1⎤ ⎡ t 3 ⎤
⎢ ⎥
V1,3 ⎥ ⎢ 3 − 6 ⎥⎢ ⎥
⎢ V1,0 V1,1 V1,2
⎢ 3 0⎥ ⎢ t 2 ⎥
⎢V2,0 V2,1 V2,2 V2,3 ⎥ ⎢− 3 3 0 0⎥ ⎢ t ⎥
⎢ ⎥⎢ ⎥⎢ ⎥
⎢⎣V3,0 V3,1 V3,2 V3,3 ⎥⎦ ⎣ 1 0 0 0⎦ ⎢⎣ 1 ⎥⎦
Do ñoù, ñeå bieåu dieãn maët cong Bezier baäc ba keùp caàn phaûi xaùc ñònh
möôøi saùu ñieåm ñieàu khieån. Nhö ôû ñöôøng cong Bezier, vieäc taêng soá löôïng caùc
ñieåm ñieàu khieån seõ töï ñoäng taêng baäc cuûa maët cong. Caàn phaûi söû duïng nhieàu
oâ löôùi Bezier ñeå taïo ra maët cong coù baäc thaáp. Trong tröôøng hôïp maët cong
baäc ba keùp, tính lieân tuïc C1 caàn phaûi baûo ñaûm doïc theo caùc caïnh chung giöõa
hai oâ löôùi. Moät caùch ñeå baûo ñaûm ñieàu kieän naøy laø caùc caïnh ñieàu khieån phaûi
thaúng haøng taïi caùc caïnh chung, nhö treân hình 6.15.

Hình 6.15 AÙp ñaët tính lieân tuïc tham soá C1 giöõa hai oâ löôùi baäc ba keùp

Ví duï 6.6
Moät keát caáu maùi nhaø daïng nöûa hình truï troøn roãng bieåu dieãn treân hình
6.16. Haõy taïo löôùi ñieàu khieån Bezier ñeå xaáp xæ maët cong naøy.

Caùch giaûi
Baøi toaùn naøy ñöôïc giaûi baèng caùch xaùc ñònh löôùi ñieàu khieån ñeå taïo caùc
ñieåm doïc theo maët caét ngang nöûa hình truï troøn, sau ñoù di chuyeån caùc ñieåm
18 Chöông 6. Maët cong
naøy doïc theo truïc z vôùi caùc ñoaïn ñeàu nhau. Ñieàu naøy seõ laøm khít maët cong
Bezier vôùi maët cong nöûa hình truï troøn.

Hình 6.16 Keát caáu maùi nhaø daïng nöûa hình truï troøn ñöôïc bieåu dieãn baèng maët
cong Bezier

Maët caùét ngang cuûa nöûa hình truï troøn taïi z = 0 seõ ñöôïc thöïc hieän tröôùc
tieân, baèng caùch söû duïng naêm ñieåm treân cung troøn nhö treân hình 6.17. Naêm
ñieåm naøy coù toïa ñoä nhö sau:
P 0 ( 2 0 ,0 )
P 1 (1 0 2 ,1 0 2)
P 2 ( 0 ,2 0 )
P3 (− 1 0 2 ,1 0 2)
P 4 ( − 2 0 ,0 )
Ñeå noäi suy caùc ñieåm naøy caàn phaûi coù naêm ñænh ñieàu khieån Bezier V0,
V1, V2, V3, V4. Moãi Vi phaûi thoaû maõn bieåu thöùc ñöôøng cong Bezier:
4
Pi (t) = ∑B
i= 0
4,i (t)Vi

Hình 6.17

Caùc giaù trò cuûa t, raøng buoäc trong khoaûng t = 0 vaø t = 1, ñöôïc xaùc ñònh
nhö laø tæ soá cuûa caùc chieàu daøi daây cung:
t1 = 0, t2 = 0,25, t3 = 0,5, t4 = 0,74, t5 = 1,0
ÔÛ daïng ma traän vaø söû duïng toïa ñoä ñoàng nhaát, bieåu thöùc Bezier coù
theå vieát laïi nhö sau:
19 Chöông 6. Maët cong
[P] 5× 3 = [B] 5× 5 [V] 5× 3
⎡ BB10
40((t
t1)) BB4111(t(1t)1 ) .. B 44 (t 1 ) ⎤ ⎡ V0 ⎤
⎢ ⎥⎢ ⎥
⎢ . . .. . ⎥ ⎢ V1 ⎥
=⎢ . . .. . ⎥ ⎢ V2 ⎥
⎢ ⎥⎢ ⎥
⎢ . . .. . ⎥ ⎢V3 ⎥
⎢BB10 ((tt 5)) . .. B 44 (t 5 ) ⎥ ⎢V4 ⎥
⎣ 40 5 ⎦⎣ ⎦

Moãi thaønh phaàn cuûa ma traän [B] coù theå xaùc ñònh baèng bieåu thöùc ñöôïc
ñöa ra trong phöông trình 10.59:
Bni(t) = ⎛⎜ ⎞⎟ t i (1 − t)n-i
n
⎝ i⎠
suy ra:

⎡ V0 ⎤ ⎡ 1 0 0 0 0 ⎤ ⎡ 20 0 1⎤
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢ V1 ⎥ ⎢ 0,3164 0,4218 0,2109 0,0469 0,0039 ⎥ ⎢ 10 2 10 2 1⎥
⎢ V2 ⎥ = ⎢ 0,0625 0,25 0,375 0,25 0,0625 ⎥ ⎢ 0 20 1⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥
V
⎢ 3⎥ ⎢ 0,0039 0,0469 0,2109 0,4218 0,3164 ⎥ ⎢ − 10 2 10 2 1⎥
⎢V ⎥ ⎢ 0 0 0 0 1 ⎥⎦ ⎢⎣ − 20 0 1⎥⎦
⎣ 4⎦ ⎣
⎡ 20 0 1⎤
⎢ ⎥
⎢ 21,05 15,44 1⎥
= ⎢ − 0,1 32,61 1⎥
⎢ ⎥
⎢ − 21,05 15,44 1⎥
⎢ − 20 0 1⎥⎦

Hình 6.18 Löôùi caùc ñieåm ñieàu khieån cuûa ví duï 6.6

Hình 6.18 chæ ra caùc ñieåm ñieàu khieån naøy cuøng vôùi ñöôøng cong noäi
suy. Caùc ñieåm ñieàu khieån boå sung treân löôùi Bezier coù theå ñaït ñöôïc baèng
caùch thay ñoåi toïa ñoä z töø 0 ñeán 100 ñôn vò vôùi caùc khoaûng ñeàu nhau 20 ñôn
vò. Löôùi ñieàu khieån Bezier 30 ñieåm cuoái cuøng trôû thaønh:
20 Chöông 6. Maët cong
⎡ (20,0,0) (20,0,20) (20,0,40) ...⎤
⎢ ⎥
⎢ ( 21,05,15 ,44,0) ( 21,05 ,
15 ,44,20 ) ( 21,05 ,
15 ,44,40 ) ...⎥
⎢ (−0,1,32,61,0) (−0,1,32,61,20) (−0,1,32,61,40) ...⎥
⎢ ⎥
⎢(−21,05,15,44,0) (−21,05,15,44,20) (−21,05,15,44,40) ...⎥
⎢⎣ (−20,0,0) (−20,0,20) (−20,0,20) ...⎥⎦

Ví duï 6.7
Cho ma traän caùc ñieåm ñieàu khieån ôû daïng Bezier
⎡V11 V12 V13 V14 ⎤
⎢ ⎥
V V22 V23 V24 ⎥
[V]B = ⎢ 21
⎢V31 V32 V33 V34 ⎥
⎢ ⎥
⎣V41 V42 V43 V44 ⎦
Haõy xaùc ñònh ma traän heä soá hình hoïc töông ñöông cho bieåu dieãn
Hermite.

Caùch giaûi
OÂ löôùi Bezier baäc ba keùp ñöôïc bieåu dieãn bôûi phöông trình 6.15:
Q B (s, t ) = [s][ M] B [ V] B [ M] TB [ t ] T (I)
trong ñoù
⎡ −1 3 −3 1⎤
⎢ ⎥
3 −6 3 0⎥
[M]B = ⎢
⎢−3 3 0 0⎥
⎢ ⎥
⎣1 0 0 0⎦

OÂ löôùi Hermite ñöôïc bieåu dieãn baèng phöông trình 6.11:


Q H (s, t ) = [s][ M] H [G] H [ M] TH [ t ] T (II)
trong ñoù
⎡ 2 −2 1 1 ⎤
⎢ ⎥
⎢ −3 3 −2 −1⎥
[M]H =
⎢ 0 0 1 0⎥
⎢ ⎥
⎣ 1 0 0 0⎦
So saùnh (I) vaø (II):
[s][M]B [V]B [M]BT [ t] T = [s][M]H [G]H [M]HT [ t] T
vaø
21 Chöông 6. Maët cong
−1
[G]H = [M]H [M]B [V]B [M]BT ([M]HT ) −1
⎡ 1 0 0 0⎤ ⎡ 1 0 −3 0 ⎤
⎢ ⎥ ⎢ ⎥
0 0 0 1⎥ 0 0 3 0⎥
=⎢
⎢−3 3 0 0⎥
[ V]B ⎢
⎢0 0 0 −3⎥
⎢ ⎥ ⎢ ⎥
⎣ 0 0 −3 3⎦ ⎣0 1 0 3 ⎦
Sau khi thay theá caùc giaù trò trong ma traän [V]B vaø thöïc hieän pheùp
nhaân, ma traän heä soá hình hoïc Hermite trôû thaønh:
⎡ V11 V14 3(V12 − V11) 3(V14 − V13 ) ⎤
⎢ ⎥
V41 V44 3(V42 − V41) 3(V44 − V43 ) ⎥
[G]H = ⎢
⎢3(V21 − V11) 3(V24 − V14 ) 9(V11 − V21 − V12 + V22 ) 9(V13 − V23 − V14 + V24 )⎥
⎢ ⎥
⎣3(V41 − V31) 3(V44 − V34 ) 9(V31 − V41 − V32 + V42 ) 9(V33 − V43 − V34 + V44 )⎦

6.3.3 Maët cong B-spline

Caùc maët cong B-spline, gioáng nhö caùc maët cong Bezier, coù theå bieåu
dieãn baèng tích tensô:
n m
P(s, t) = ∑ ∑N
i= 0 j = 0
i,k (s)Nj,l (t)Vi,j (6.17)

trong ñoù Vi,j laø caùc ñieåm ñieàu khieån vaø Ni,k(s), Nj,l(t) laø caùc haøm lieân keát trôn
B-spline, nhö ñònh nghóa ôû phaàn 10.6. Caùc veùc tô nuùt theo hai höôùng tham soá
coù theå phaân loaïi thaønh ñeàu/tuaàn hoaøn, khoâng tuaàn hoaøn vaø khoâng ñeàu, gioáng
nhö ñöôøng cong B-spline. Maët cong naèm trong giôùi haïn ña dieän taïo bôûi caùc
ñieåm ñieàu khieån. Hình 6.19 vaø 6.20 ñöa ra caùc ví duï veà maët cong B-spline.
Chuùng thuoäc daïng ñieàu khieån cuïc boä gioáng nhö ñöôøng cong B-spline: nghóa
laø khi thay ñoåi vò trí moät ñieåm ñieàu khieån chæ moät phaàn nhoû maët cong B-spline
bò aûnh höôûng.

Hình 6.19 (a) Maët cong B-spline (b) Maët cong bò thay ñoåi cuïc boä
khi moät ñieåm ñieàu khieån ñöôïc dôøi
22 Chöông 6. Maët cong
Caùc maët cong B-spline ñeàu/tuaàn hoaøn ñöôïc taïo ra baèng caùch söû
duïng caùc veùc tô nuùt ñeàu vaø moät maûng caùc ñieåm ñieàu khieån. Ví duï maët cong
baäc ba keùp ñöôïc bieåu dieãn baèng maûng 4 x 4 caùc ñieåm ñieàu khieån.

Hình 6.20 (a) Maët cong B-spline. (b) Maët cong bò thay ñoåi cuïc boä khi di
chuyeån hai ñieåm ñieàu khieån

Ñoái vôùi maët cong B-spline baäc ba keùp tuaàn hoaøn coù tính lieân tuïc C2,
moãi phaâân ñoaïn caàn möôøi saùu ñieåm ñieàu khieån, trong ñoù möôøi hai ñieåm ñöôïc
duøng chung vôùi phaân ñoaïn keá tieáp.

Hình 6.21 Ñöôøng cong B-spline tuaàn hoaøn


kheùp kín söû duïng ñeå xaáp xæ hình truï troøn

Maûng V caùc ñieåm ñieàu khieån laø:


V11 V12 V13 V14 V15
V21 V22 V23 V24 V25
V31 V32 V33 V34 V35
V41 V42 V43 V44 V45

OÂ löôùi 1 OÂ löôùi 2
23 Chöông 6. Maët cong
Maët cong B-spline tuaàn hoaøn kheùp kín thu ñöôïc cuøng phöông phaùp
vôùi ñöôøng cong B-spline tuaàn hoaøn kheùp kín. Caùc caïnh ñoái dieän cuûa maët
cong ñöôïc troän vôùi nhau baèng caùch ñaët truøng caùc ñænh ñieàu khieån treân caùc
caïnh. Ví duï, moät hình truï troøn ñöôïc xaáp xæ baèng caùc ñænh ñieàu khieån truøng
nhau nhö treân hình 6.21. Tröôùc tieân, ñöôøng troøn ñöôïc taïo ra baèng boán phaân
ñoaïn ñöôøng cong B-spline baäc ba:
V0V1V2V3 phaân ñoaïn 1
V1V2V3V4 phaân ñoaïn 2
V2V3V4V5 phaân ñoaïn 3
V3V4V5V6 phaân ñoaïn 4
Di chuyeån caùc ñieåm ñieàu khieån theo höôùng vuoâng goùc vôùi maët phaúng
chöùa chuùng, seõ taïo ra ñöôïc khoái ñieàu khieån hình truï troøn. Hình 6.22 chæ ra
maët cong ñöôïc taïo ra.

Hình 6.22 Maët cong truï troøn ñöôïc bieåu dieãn baèng caùc oâ löôùi B-spline

Maët xuyeán ñöôïc xaáp xæ baèng caùch quay caùc ñieåm ñieàu khieån taïo
thaønh ñöôøng troøn quanh truïc ñaët caùch taâm cuûa chuùng moät ñoaïn. Hình 6.23
chæ ra keát quaû cuûa quaù trình naøy.

Hình 6.23 Maët xuyeán taïo bôûi caùc oâ löôùi B-spline


24 Chöông 6. Maët cong
Gioáng nhö caùc ñöôøng cong B-spline tuaàn hoaøn, maët cong cuõng coù
theå bieåu dieãn ôû daïng ma traän. Trong tröôøng hôïp caùc maët cong baäc ba keùp,
coâng thöùc ma traän coù daïng nhö sau:
T
P(s, t) = [s][M]Bs [V]Bs [M]Bs [ t ]T (6.18)
trong ñoù [M]Bs laø ma traän töông töï söû duïng trong ñònh nghóa ñöôøng cong B-
spline baäc ba tuaàn hoaøn:
⎡ −1 3 −3 1⎤
⎢ ⎥
3 −6 3 0⎥
[M]Bs = 61 ⎢()
⎢−3 0 3 0⎥
(6.19)
⎢ ⎥
⎣1 4 1 0⎦
vaø [V]Bs laø khoái ñieàu khieån vôùi möôøi saùu ñieåm.

Ví duï 6.8
Cho moät maët cong B-spline baäc ba xaùc ñònh bôûi löôùi caùc ñieåm ñieàu
khieån sau:
⎡(0,0,0) (0,2,0) (0,4,0) (0,6,0)⎤
⎢ 200 ⎥
( , , ) (2,2,0) (2,4,0) (2,6,0)⎥
[V]Bs =⎢
⎢(4,0,0) (4,2,0) (4,4,0) (4,6,0)⎥
⎢ ⎥
⎣(6,0,0) (6,2,0) (6,4,0) (6,6,0)⎦
Haõy tìm ñieåm treân maët cong taïi s = 0,25 vaø t = 0,75.

Caùch giaûi
Söû duïng phöông trình 6.18 ñeå bieåu dieãn maët cong, ta thu ñöôïc:
⎡0 0 0 0⎤ ⎡0,4219⎤
⎢ ⎥ ⎢ ⎥
2 2 2 2⎥ T ⎢ 0,563 ⎥
x = [0,0156 0,0625 0,25 10 , ][M]Bs ⎢ [M]Bs
⎢ 4 4 4 4⎥ ⎢ 0,75 ⎥
⎢ ⎥ ⎢ ⎥
⎣6 6 6 6⎦ ⎣ 10 , ⎦
trong ñoù, [M]Bs ñöôïc xaùc ñònh baèng phöông trình 6.19. Nhaân caùc ma traän
töông öùng ta coù:
x = 2,50
Töông töï:
⎡ 0 2 4 6⎤ ⎡0,4219 ⎤
⎢ ⎥ ⎢ ⎥
0 2 4 6⎥ T 0,5625 ⎥
y = [0,0156 0,0625 0,25 1,0][M]Bs ⎢ [M]Bs ⎢
⎢ 0 2 4 6⎥ ⎢ 0,75 ⎥
⎢ ⎥ ⎢ ⎥
⎣ 0 2 4 6⎦ ⎣ 1,0 ⎦
y = 3,5

vaø z = 0,0
Ñieåm treân maët cong taïi s = 0,25 vaø t = 0,75 laø P(2,5, 3,5, 0).
25 Chöông 6. Maët cong
6.3.4 Pheùp chuyeån ñoåi giöõa caùc daïng maët cong baäc ba

Phöông phaùp chuyeån ñoåi giöõa caùc ñöôøng cong baäc ba coù theå aùp
duïng töông töï cho maët cong. Trong tröôøng hôïp naøy, caùc ñieåm ñieàu khieån
bieåu dieãn maët cong Hermite baäc ba, Bezier hoaëc B-spline quan heä vôùi nhau
baèng bieåu thöùc töông töï phöông trình 10.80 nhö sau:

Vto = [Mto-1Mfrom]Vfrom[Mto-1 Mfrom]T (6.20)

Ma traän chuyeån ñoåi [Mto-1Mfrom] thu ñöôïc töø baûng 6.3 vaø thay theá vaøo
phöông trình 6.20.

6.3.5 Maët cong höõu tæ

Quaù trình taïo maët cong höõu tæ laø söï môû roäng cuûa quaù trình söû duïng
ñoái vôùi ñöôøng cong höõu tæ. Khaùi nieäm toïa ñoä ñoàng nhaát moät laàn nöõa laïi ñöôïc
söû duïng. Baûng 6.1 chæ ra caùc bieåu thöùc töông öùng cuûa maët cong Bezier vaø B-
spline.
Ví duï tích tensô maët cong B-spline höõu tæ ñöôïc xaùc ñònh baèng phöông
trình chæ ra ôû goùc phaûi döôùi cuûa baûng 6.1. Ni,k(s) vaø Nj,l(t) laø caùc haøm cô sôû.
Vi,j laø khoái ña dieän ñieàu khieån vaø wi,j laø troïng soá cuûa caùc ñieåm ñieàu khieån. Veùc
tô nuùt söû duïng coù theå laø ñeàu/tuaàn hoaøn, khoâng ñeàu hoaëc khoâng tuaàn hoaøn vaø
thay ñoåi theo hai höôùng tham soá s vaø t.
Baûng 6.1
Bezier B-spline
Khoâng n m n m

höõu tæ
Q(s, t) = ∑∑
i= 0 j = 0
Bi,n (s)B j,m (t)Vi,j P(s, t) = ∑ ∑N
i= 0 j = 0
)N
i,k (s)Njj,l,i ((t)V
t)Vi,i,jj

n m n m

∑∑w B
i=0 j=0
i,j i,n (s)Bj,m (t)Vi,j ∑∑w )Njj,l,i ((t)V
i,j Ni,k (s)N t)Vi,i,jj
i= 0 j = 0
Höõu tæ Q(s, t) = n m P(s, t) = n m
∑∑w B
i=0 j=0
i,j i,n (s)Bj,m (t)
∑ ∑ w NN i,j
i,j (s)Nj,lj,i(t)
i,k(s)N
i,k (t)
i= 0 j = 0

Töông töï nhö caùc ñöôøng cong höõu tæ, caùc troïng soá taïo theâm moät baäc
töï do cho hình daïng cuûa maët cong. Hình 6.24 chæ ra aûnh höôûng cuûa giaù trò
caùc troïng soá ñeán hình daïng cuûa maët cong.
Haàu heát caùc tính chaát cuûa maët cong khoâng höõu tæ ñeàu môû roäng cho
caùc maët cong höõu tæ töông öùng. Ví duï, pheùp quay vaø pheùp tònh tieán ñöôïc aùp
duïng cho caùc ñieåm ñieàu khieån; maët cong chöùa trong maët bao loài cuûa moät
khoái ña dieän kheùp kín.
26 Chöông 6. Maët cong

Hình 6.24 (a) Maët cong B-spline höõu tæ. (b) Caùc giaù trò troïng soá lôùn hôn cuûa
caùc ñieåm ñieàu khieån naèm beân trong. (c) Caùc giaù trò troïng soá nhoû
hôn cuûa caùc ñieåm ñieàu khieån naèm trong ôû phía treân.
Caùc ñænh ñieàu khieån truøng nhau coù aûnh höôøng ñeán maët cong höõu tæ
töông töï nhö maët cong khoâng höõu tæ. Ngoaøi ra, söï dòch chuyeån moät ñieåm ñieàu
khieån chæ aûnh höôûng cuïc boä ñeán maët cong.

6.3.6 NURBS (Maët cong B-spline höõu tæ khoâng ñeàu)


NURBS laø caùc maët cong B-spline höõu tæ coù caùc veùc tô nuùt khoâng ñeàu.
Chuùng laø moät trong caùc maët cong thöôøng ñöôïc söû duïng nhaát trong thieát keá
kyõ thuaät vôùi lyù do laø chuùng bao goàm taát caû caùc daïng bieåu dieãn maët cong [41].
Bieåu thöùc toång quaùt cuûa NURBS ñöôïc ñöa ra trong baûng 14.1 ôû phaàn B-
spline höõu tæ, ngoaïi tröø veùc tô nuùt söû duïng laø khoâng ñeàu. Chuùng deã daøng bieán
ñoåi sang caùc daïng bieåu dieãn khaùc nhö trình baøy döôùi ñaây:

B-spline khoâng höõu tæ khi taát caû wi,j = 1


Bezier höõu tæ khi soá löôïng caùc ñieåm ñieàu khieån baèng vôùi caáp
cuûa moãi höôùng tham soá vaø khoâng toàn taïi söï laëp laïi
cuûa caùc giaù trò nuùt beân trong
Bezier khoâng höõu tæ töông töï nhö Bezier höõu tæ, coäng theâm wi,j = 1

Ngoaøi ra, NURBS coù khaû naêng bieåu dieãn maët cong baäc hai.
27 Chöông 6. Maët cong

6.4 CAÙC BAØI TOAÙN ÖÙNG DUÏNG


Nhieàu baøi toaùn öùng duïng kyõ thuaät yeâu caàu taïo ra caùc maët cong coù
daïng ñöôïc moâ taû trong chöông naøy. Muïc naøy ñöa ra moät ví duï ñöôïc giaûi
quyeát baèng heä thoáng CAD.

Ví duï 6.9
Caùnh maùy bay treân hình 5.24a ñöôïc trình baøy trong ví duï 5.13 goàm
taäp hôïp caùc boä phaän goàm caùc ñöôøng cong Bezier baäc ba noái vôùi nhau coù tính
lieân tuïc C0. Baøi toaùn naøy coù theå giaûi quyeát baèng ñöôøng cong B-spline kheùp
kín, vôùi ñoä mòn ñöôïc ñieàu khieån thoâng qua caùc ñænh ñieàu khieån (nhö V0 treân
hình 5.24a), ñöôïc chæ ra treân hình 6.25. Haàu heát caùc heä thoáng CAD ñeàu coù
leänh taïo maët cong B-spline baèng taäp hôïp caùc ñöôøng cong B-spline lieân keát
vôùi nhau. Caùch naøy coù theå söû duïng ñeå taïo maët cong voû cuûa caùnh maùy bay.
Vì caùc heä thoáng CAD söû duïng caùc ñieåm treân caùc ñöôøng cong B-spline khaùc
nhau ñeå taïo ra maët cong neân ñieàu quan troïng laø caùc ñöôøng cong phaûi coù
cuøng soá löôïng caùc ñieåm vaø lieân keát vôùi nhau theo cuøng moät thöï töï ñeå traùnh
xaûy ra hieän töôïng xoaén.

Hình 6.25

TOÅNG KEÁT
Chöông naøy moâ taû caùc phöông phaùp khaùc nhau ñeå taïo maët cong bao
goàm caùc pheùp troøn xoay, pheùp queùt hình, caùc bieåu dieãn Bezier vaø B-spline.
Vieäc söû duïng caùc tham soá hình hoïc taïo ra moät phöông phaùp coù heä thoáng ñeå
bieåu dieãn caùc maët cong. Caùc maët cong Bezier vaø B-spline ñöôïc thao taùc
thoâng qua vieäc söû duïng caùc thao taùc moâ hình aùp duïng cho caùc khoái ña dieän
ñieàu khieån vaø caùc phaùp tuyeán cuûa maët cong coù theå ñöôïc xaùc ñònh taïi caùc
ñieåm khaùc nhau vaø ñöôïc söû duïng cho muïc ñích toâ boùng beà maët. Caùc tính
chaát hình hoïc khaùc, nhö dieän tích maët cong, ñöôïc xaùc ñònh baèng caùc pheùp
tính tích phaân ñôn giaûn. Chöông naøy cuõng nghieân cöùu caùc ña thöùc höõu tæ
duøng trong ñònh nghóa maët cong vaø nhaán maïnh coâng duïng cuûa chuùng trong
moâ hình hoùa hình hoïc.
28 Chöông 6. Maët cong
BAØI TAÄP
1. Haõy taïo moät maët caàu baèng caùch quay moät ñöôøng troøn baùn kính 2 ñôn vò
naèm trong maët phaúng xz coù taâm taïi (0, 0, 5).
2. Cho moät ña giaùc coù toïa ñoä caùc ñænh bieåu dieãn baèng ma traän sau:
⎡0 0 0⎤
⎢ ⎥
⎢0 8 0⎥
⎢2 8 0⎥
⎢ ⎥
⎢2 4 0⎥
⎢6 4 0⎥
⎢ ⎥
⎢6 8 0⎥
⎢8 8 0⎥
⎢ ⎥
⎢⎣8 0 0⎥⎦
haõy queùt noù doïc theo ñöôøng thaúng z = 8s ñeå taïo ra maët cong.
3. Haõy taïo moät maët cong baèng caùch quay ña giaùc cuûa baøi taäp 2 quanh truïc x.
4. Moät oâ löôùi song tuyeán tính ñöôïc taïo ra baèng pheùp noäi suy tuyeán tính giöõa
boán ñieåm khoâng naèm treân cuøng moät maët phaúng, vôùi caùc tham soá s vaø t
thay ñoåi töø 0 ñeán 1. Vôùi oâ löôùi song tuyeán tính bieåu dieãn baèng caùc ñieåm
⎡0 0 0 ⎤
⎢ ⎥
⎢− 2 0 1 ⎥
⎢ 1 1 3 ⎥
⎢ ⎥
⎣ 4 2 3 ⎦
Haõy xaùc ñònh phöông trình tham soá cuûa ñöôøng cong naèm treân oâ löôùi
naøy vaø coù y = 2.
5. Moät maët cong tham soá baäc ba keùp ñöôïc xaùc ñònh baèng caùc thaønh phaàn
Decarte cuûa noù nhö sau:
⎡3 0 1⎤ ⎡ t 3 ⎤
1
⎢ ⎥⎢ ⎥
1 0 1⎥ ⎢ t 2 ⎥
0
[
x(s, t) = s 3 s2 ]
s 1⎢
⎢2 1 1⎥ ⎢ t ⎥
1
⎢ ⎥⎢ ⎥
⎣0 2 −1 0⎦ ⎢⎣ 1 ⎥⎦
⎡1 1 1 1⎤ ⎡ t 3 ⎤
⎢ ⎥⎢ ⎥
1 0 0 0⎥ ⎢ t 2 ⎥
[
y(s, t) = s 3 s2 ]
s 1⎢
⎢2 3 0 0⎥ ⎢ t ⎥
⎢ ⎥⎢ ⎥
⎣1 2 0 2⎦ ⎢⎣ 1 ⎥⎦
⎡0 1 2 3⎤ ⎡ t 3 ⎤
⎢1 ⎢ ⎥
0 2 0⎥⎥ ⎢ t 2 ⎥
[
z(s, t) = s 3 s2 ]
s 1⎢
⎢3 1 2 1⎥ ⎢ t ⎥
⎢ ⎥⎢ ⎥
⎣1 0 1 1⎦ ⎢⎣ 1 ⎥⎦
Haõy taïo ra veùc tô phaùp tuyeán taïi ñieåm s = 1/2 vaø t = 1/2.
29 Chöông 6. Maët cong
6. Ñoái vôùi maët cong tham soá baäc ba keùp ôû baøi taäp 5, haõy xaùc ñònh toïa ñoä z
treân maët cong khi x = 1,0 vaø y = 4,0.
7. Moät maët truï ñöôïc taïo ra baèng pheùp quay moät ñöôøng thaúng AB: A(1, 0, 1)
B(1, 0, 4) quanh truïc z. Haõy xaùc ñònh maët cong xung quanh cuûa maët truïï
baèng maët cong Bezier.
8. Moät oâ löôùi phaúng boán caïnh trong maët phaúng xy coù caùc ñænh ñöôïc chæ ra
trong hình veõ döôùi ñaây. Haõy xaùc ñònh ma traän [G]H cuûa oâ löôùi naøy.
Gôïi yù: Caùc veùc tô tieáp tuyeán taïi caùc ñænh nhaän ñöôïc baèng caùch laáy
ñaïo haøm caùc veùc tô ñieåm theo caùc höôùng tham soá töông öùng. Caùc
veùc tô xoaén laø ñaïo haøm caùc veùc tô ñoä doác taïi caùc goùc töông öùng.

9. Moät oâ löôùi Bezier baäc ba keùp ñöôïc xaùc ñænh baèng caùc ñieåm ñieàu khieån
nhö sau:
⎡(0,0,0) (010
,, ) (0,2,0)
(0,3,0)⎤
⎢ ⎥
(10
, ,0) (110
,, ) (12
, ,0)
(13
, ,0) ⎥
[ ]B ⎢⎢(2,0,0)
V =
(210
,, ) (2,2,0)
(2,3,0)⎥
⎢ ⎥
⎣(3,0,0) (3,10
, ) (3,2,0)
(3,3,0)⎦
Haõy xaùc ñònh vò trí cuoái cuøng cuûa ñieåm P(s = 1, t = 1) sau khi oâ löôùi ñöôïc
dòch chyeån doïc theo x = 8s, vôùi s = 0,5 vaø quay quanh truïc x moät goùc
3600.
10.Haõy thöïc hieän caùc giaûi thuaät ñöôïc ñöa ra ôû cuoái chöông naøy ñeå veõ caùc
daïng maët cong töï do khaùc nhau. Caùc heä soá hình hoïc (hoaëc caùc ñieåm ñieàu
khieån) ñöôïc cung caáp bôûi ngöôøi söû duïng.

You might also like