1. Trang chủ
  2. » Vật lí lớp 11

Bài giảng môn Đồ họa và hiện thực ảo - Bài 8: Mô hình bề mặt – Surface: Các phương pháp xây dựng

5 14 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

[r]

(1)

1

Mơ hình bmt – Surface Các phương pháp xây dng

Khái niệm Constructive surface Bềmặt tổng hợp Bềmặt tam giác Le Tan Hung www.dohoavietnam.com

2

I Các khái nim cơbn

z Mặt cong-Surface

Là quỹ đạo chuyểnđộng đừơng cong tạo nên

z Biểu diễn tham biến cho mặt cong

– Dựa vào việc xây dựng tạo bềmặt toán học nhữngđiểm dữliệu

– Dựa việc xây dựng nên bềmặt phụthuộc vào biến sốcó khảnăng thayđổi cách trực diện thơng qua tương tácđồhoạ z Biểu diễn theo mảnh

Biểu diễn miếng tứgiác -quadrilateraPatches

Biểu diễn miếng tam giác-Triangular Patches x=x(u,v,w) u,v,w E [0, 1]

y=y(u,v,w) u + v + w = z=z(u,v,w)

Q(u,v,w) = Q[ x=x(u,v,w) y=y(u,v,w) z=z(u,v,w) ]

3

Ưu đim dùng mt lưới

‰Cho phép phân tích sm vàddàng cácđc tính ca bmt, đưng cong ca bmt và tính cht vt lý ca bmt.

‰Cho phép xácđnh din tích, xácđnh vùng ca bmt hay mơment ca mt.

‰Vi khnăng tô màu bmt thc tếcho phép vic kim tra thiết kếđơn gin.

‰To thông tin cn thiết cho vic sn xut vàto ra bmt nhưcode điu khin sđưc ddàng thun tin hơn nhiu so vi phương pháp thiết kế c

đin

4

Biu din mnh tgiác

z Phương trình

x=x(u,v) y=y(u,v) u,v E [ 0, 1] z=z(u,v)

Q(u,v) = Q[ x=x(u,v) y=y(u,v) z=z(u,v) ]

Thành phần

– u,v tham biến

– Cácđiểm Q(0,0) Q(0,1), Q(1,0), Q(1,1) cận mảnh – Cácđường cong Q(1,v), Q(0,v), Q(u,0), Q(u,1) biên mảnh – Đạo hàm riêng tạiđiểm Q(u,v) xácđịnh vector tiếp tuyến theo hướng u, v

5

Kết ni mnh tgiác

z Thực thểhình học biểu diễn thơng qua mảnh dạng z Các mảnh có thểnối với theo

các hướng u,v mảnh cùng hướngđó

z Nếu mọiđiểm biên mảnh = nhau, hay biên = mảnh liên tục bậc Co

z Nếu biên = vàđạo hàm bằng nhau hướng thi mảnh gọi kết nối bậc C1

6

H ta độ

Barycentric Coordinates ?

Tập điểm P1,P2 Pn Tập tổ hợp điểm đó

k1P1 + k2P2 + k3P3 + knPn Với

k1 + k2 + k3 + + kn =1

các điểm tạo thành không gian affine với gias trị toạ

độ nates

k1,k2,k3, kn

(2)

7

Tam giác Triangular

Trong tam giác cácđiểm có dạng P1, P2, P3 Hệsố: k1, k2, k3 E [ 0, 1]

k1 + k2 + k3 = P = k1P1 + k2P2+ k3P3

Nếu Hệsốki > <0 điểm P sẽnằm tam giác Q

Nếu Hệsốki = =0 điểm P sẽnằm cạnh tam giác

8

Bi-Linear

z Là mặt nội suy từ4 điểm P00; P01; P10; P11trong không gian Với (u,v) [0; 1] [0; 1]

P(u,v) = (1 -u)(1 -v)P00 + (1 -u)vP01 + u(1 -v)P10 + uvP11

z Dùngđểmơ tảcácđối tượng có hình dạng tứgiác nhưcờ, khăn z Mởrộng cho cácđối tượng loại

9

Mơ hình hố mt cong Surface Patches

zRuled Surface

zCoon-Boolean Sum

zSurface of Revolution

zSwept Surface

–Extrusion

10

Ruled Surface

z Bềmặtđược xây dựng cách

cho trượt đoạn thẳng

đường cong

z Các mặt kẻnhậnđược phép nội suy tuyến tính từhaiđường cong biên cho trước tươngứng với hai biênđối diện mặt kẻ

P1(u) P2(u)

0.2 0.4

0.6 0.8

1

0.6 0.7 0.8 0.9 1 1.5 2.5

Ruled Surface (Matke)

Duong cong Bspline Duong cong Bezier

•Phương trình mặt kẻ: Q(u,v) = P2(u)v + P1(u)(1-v)

Nếu haiđường cong cho trước tươngứng P1(v) P2(v) Thì mặt kẻcó phương trình

Q(u,v) = P1(v)(1-u) + P2(v)u ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ =

) (

) ( u] u) [(1

v P

v P

Mặt tròn xoay Revolution surface

z Mặtđược xây dựng bởiđường thẳng hay đường cong phẳng, quanh trục khơng gian

z Giảsử đường cong phẳng có dạng P(t)=[x(t) y(t) z(t)] 0≤t≤tmax

z Ví dụ: quay quanh trục x thực thểnằm mặt phẳng xy, phương trình bềmặt

Q(t, φ) = [ x(t) y(t) cosφ z(t) sinφ] 0≤φ≤2π

VD - Mặt tròn xoay

P1[1 0] P2[6 0] nằm mặt phẳng xy Quay đường thẳng quanh trục x mặt nón Xácđịnhđiểm mặt t=0.5, φ=π/3

Phương trình tham sốchođoạn thẳng từP1 tới P2 là: P(t) = [ x(t) y(t) z(t) ] = P1 + (P1 - P2)t ≤t ≤1 với thành phầnĐề-các:

x(t) = x1 + (x2- x1)t = 1+5t y(t) = y1 + (y2- y1)t = 1+t z(t) = z1 + (z2- z1)t = Dùng phương trình

Q(1/2, π/3) = [ 1+5t (1+t)cosφ (1+t)sinφ]

⎥⎦ ⎤ ⎢⎣

⎡ =

3 sin 3 cos

(3)

13

Mặt trượt -Sweept Surface z Sweep surface mặtđược tạo

bằng cách trượt thực thể

z ví dụ: mộtđường thẳng, đa giác, đường cong, hình… dọc theo đường khơng gian

z Q(u,v) = P(u)*[ T(v) ]

P(u) thực thểcần trượt

[ T(v) ] ma trận biếnđổi([ T(v) ] có thểlà ma trận tịnh tiến, quay, hay tỉlệ…hoặc kết hợp nhiều phép biếnđổiđó) Ví dụ:

P1[0 0], P2[0 0]

P(t) = P1 + (P2 – P1)*u = [0 3u 1] ≤ u,v≤1 ⎢⎢

⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ Π Π − Π Π = 0 10 ) cos( ) sin( 0 ) sin( ) cos( 0 0 ) ( v v v v v v T 14 10 -3 -2 -1 -1 -0.5 0.5 10 -2 -1 -1 -0.5 0.5

Ví dvmt Sweept Extrusion

z Hình vng xácđịnh đỉnh : P1[0 -1 0], P2[0 -1 -1], P3[0 -1], P4[0 1]

z Đường cong trượt

x= 10v y= cos(Πv) –

Quay góc trượt

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − − = ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ = 1 1 1 1 1 1 1 ) ( P P P P u P ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ − Π = 1 ) cos( 10 0 0 0 0 ) ( v v v T ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ − Π − 1 ) cos( 10 0 0 ) cos( ) sin( 0 ) sin( ) cos( v v ϕ ϕ ϕ ϕ 15 Boolean sum Coon surface

Mặtđược xây dựng điểm

cácđường cong biên

S(u,v) Mặt nội suy đường biên

S(u; v) = S1(u, v) + S2(u, v) - P(u; v) Với:

P(u,v) = (1-u)(1-v)P00 + (1-u)vP01 + u(1-v)P10 + uvP11 S1(u,v) = vA0(u) + (1-v)A2(u)

S2(u; v) = uA1(v) + (1-u)A3(v); P cácđỉnh mảnh

Ai(u) phương trìnhđường biên

16

Example

Boolean Sum Surface

Vi u = 0

S(0,v) = S1(0,v) + S2(0,v) -P(0,v) = v A0(0) + (1 -v)A2(0) + A1(v)

+ A3(v) - (1 -v)P00 -v P01 = v P01 + (1 -v)P00 + A3(v) -(1 -v)P00 -v P01 = A3(v)

17

Surface from Curves

zHermite

zBezier

zB-Spline

18

Mặt cong bậc ba Hermite

( ) ∑∑ = = ≤ ≤ = 3 1 0 i j j i

ijuv uv

C v

u

Q , ,

[ ] ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − = 0 1 0 3 1 2 H M

z Q(u, v) = [U ][C ][V ]T

0 ≤u, v <1

(4)

19

Mnh-patch Bézier z Mô Hình dạng tổng quát

z Mảnh Bezier hình thành phép trượt củađường cong Bezier

z Việc xây dựng nên mảnh Bezier

cácđiểm kiểm soát, tạo nênđa diện kiểm sốt

z Phương trình tổng quát mặt cong

tham biến Bezier có dạng: u,v E [0, 1]

20

Mnh Bezier bc 3

z Mặt cong Bezier bậc mặt phổbiến trong CG, vìđiđộ đơn giản nó

z Hình thành 4x4 diểm kiểm sốt z Cơng thức có dạng

z Đa thức Bernstein có dạng:

( ) ( ) ( )ij i j

j m i

n u B v P

B v

u

Q ∑ ∑

= = =

0

0

, ,

,

21

Tính chất của mảnh Bézier z Tính bao lồi: Mặt cong

Bezier ln nằm trongđa diện lồi cácđiểm kiểm sốt

z Mặt cong qua điểm cận P00, P01,P10,P11 hay chính xác

Q(0,0)=P00, Q(0,1)=P01, Q(1,0)=P10, Q(1,1)=P11 z Đường cong biên Mặt

Bezier làđường cong Bezier

z Mặt cong liên tục đạo hàm riêng bậc tồn liên tục.

z Đạo hàm riêng mặt cong có dạng:

22

zQ(u,v) là mọiđiểm nằm mặt cong và

( ) [ ]

⎥ ⎥ ⎥ ⎥ ⎥

⎦ ⎤

⎢ ⎢ ⎢ ⎢ ⎢

⎣ ⎡

⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢

⎢ ⎢ ⎢ ⎣ ⎡

− −

− −

⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢

⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢

⎢ ⎢ ⎢ ⎣ ⎡ −

− − − =

1 v v v

1 0

3 0

3

1 3

B B B B

B B B B

B B B B

B B B B

0 0

0 3

0

1 3 1 u u u v , u Q

2

33 32 31 30

23 22 21 20

13 12 11 10

03 02 01 00

3

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

V M B N U v , u

Q =

[N] và[M] biểu diễn= [ ]U=[u3 u2 u 1]

[ ]V=[v3 v2 v 1]

⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢

⎢ ⎢ ⎢ ⎣ ⎡ −

− − −

0 0

0 3

0

1 3

Ni miếng Bezier Bc 3(Bi-cubic)

z Hai mảnh Q R chung tham biến biên (Giảsửu) z Haiđường cong biên phải

bằng Q(1,v)=R(0,v) z Hệsốcủa cột cuối ma trận Q

= cộtđầu ma trận R z Tương tự: Nếu theo hướng

của v hàng sẽthay cột ma trận

z Bậc mặt cong theo hướng tham biến sốđiểm kiểm soát trừ1

z Tính liên tục hayđạo hàm mặt theo tham biến sốđiểm kiểm sốt trừ2

z Hình dạng mặt biếnđổi theo cạnh củađa giác kiểm soát

z Mặt lưới chỉđi qua cácđiểm góc cạnh củađa giác kiểm soát

z Mặt lưới chỉnằm phần giới hạn lưới củađa giác lồi kiểm soát

z Mặt lưới không thayđổi tácđộng phép biếnđổi affine

z Mỗiđường biên mặt Bezier là1 đường cong Bezier với mặt cong bậc ba Bezier cácđường cong biên luônđảm bảo cácđường Bezier bậc3

(5)

25

ĐÁNH GIÁ MT CONG BEZIER

zƯU ĐIỂM

– Dễtrong xây dựng chương trình – Dễtrong render

– Là mặt cong mạnh biểu diễnđược nhiều hình phức tạp

zNHƯỢC ĐIỂM

– Khơng thểmơ tả hình cầu

– Điều kiệnđểnối mặt cong cần nhiềuđiểm Dẫn đến khảnăngđiều khiển

26

Mt cong B-Spline

z Phương trình mặt B-spline z Pij làđiểm kiểm soát z N M làđa thức B-spline z Với mặt cong mởmặt

cong phụthuộc vào các knot vector

j i n

i m

j

h j k

i u M w P

N w

u

Q ,

1

, ,( ). ( .)

) ,

( ∑∑

= = =

⎩ ⎨ ⎧ ≤ <

= +

otherwise x u x u

Nik 0i i )

(

,

1 , 1

1

, () ( ) ()

) ( ) ( ,

+ +

− + + −

+ −

− − + − − =

i k i

k i k i i k i

k i i

x x

u N u x x x

u N x u u k Ni

( )

⎪ ⎩ ⎪ ⎨ ⎧

+ ≤ ≤ + + − =

≤ ≤ + − =

≤ ≤ =

) (

) (

k n i n k n x

n i k k i x

k i x

i i i

27

Đặcđim ca mt cong B-Spline

z Sốbậc caonhất bềmặt theo hướng số điểm kiểm

sốt -1 theo hướngđó

z Đạo hàm riêng phương trình bềmặt theo tham biến có bậc

bằng số điểm kiểm sốt theo tham biếnđó trừ2

z Bềmặt B-spline khơng chịuảnh hưởng phép biếnđổi anfine

Bềmặt sẽthayđổi ta thayđổiđa giác kiểm soát

z ảnh hưởng mộtđiểm kiểm soátđơnđược giới hạn + - k/2

h/2 khoảngđối với tham số

z Nếu số đỉnh củađa giác kiểm soát sốbậc theo tham biến

và khơng cóđiểm kép mặt B-spline sẽchuyển thành mặt Bezier

z Nếu cácđa giác kiểm sốt có dạng tam giác lướiđa giác kiểm sốt sẽcó hình dáng gần giống với bềmặt cong

z Mỗi mặt B-Spline nằm bao lồi củađa giác kiểm sốt z Mỗi mặt B-Spline có dángđiệu ln bám theo hình dáng củađa giác

kiểm sốt

28

Mặt cong tham biến bậc3

z Dựa vào việc xây dựng tạo bề mặt toán học những điểm dữliệu

z Dựa việc xây dựng nên bề mặt phụthuộc vào biến sốcó khảnăng thayđổi một cách trực diện thông qua tương tácđồhoạ

z Q( u, v ) = [ x y z ] z = [ x( u, v ) y( u

,v ) z( u, v ) ] umin ≤u ≤umax , vmin≤v ≤vmax

29

z Bc cao nht ca mt theo mi hưng bng sđim kim sốt -1 theo hưngđó

z Đo hàm riêng ca phương trình b mt theo mt hưng cóbc bng sđim kim sốt -2.

z Mt B.spline khơng thay đi dưi tác đng ca các phép biếnđi affine

Ngày đăng: 09/03/2021, 04:04

Xem thêm: