Tải bản đầy đủ (.pdf) (24 trang)

Bài giảng Đồ họa máy tính: Mặt có quy luật - Ngô Quốc Việt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.4 MB, 24 trang )

MẶT CĨ QUY LUẬT

NGƠ QUỐC VIỆT
2009





Một phương thức mơ hình đối tượng 3D.
Dựa trên việc quét một đường thẳng trong không gian 3
chiều.
Hyperbolic
Paraboloid



Hoặc dựa trên việc xoay trịn một đường cong trong
khơng gian.
2




Mặt trụ

3






Mặt là đối tượng hình học hai chiều trong khơng gian 3D
Phương trình tham số :




P(u,v) = (x(u,v), y(u,v), z(u,v))



p(u, v)  X (u, v)i  Y (u, v) j  Z (u, v)k

Phương trình ẩn :
f(x, y, z) = 0



Biểu diễn mặt tròn:
P(u,v) = ( R cos(v) cos(u), R sin(v), R cos(v) sin(u))

Phương trình ẩn :
f(x, y, z) = x2 + y2 + z2 – R2

4


• Ruled Surfaces: Mặt cong tạo bởi di chuyển một
đường thẳng trong khơng gian theo một quỹ đạo
xác định.

• Surfaces of Revolution: Mặt cong tạo bởi di
chuyển một đường cong theo một trục.
• Quadric Surfaces: Mặt cong bậc hai theo x, y, z.
Mặt cong được định nghĩa theo hàm số: z = f(x,y)

5


Định nghĩa:
Mặt có quy luật là mặt 3D có được bằng cách quét một đoạn
thẳng theo quỹ đạo nhất định trong khơng gian.
Cách tạo mặt cong:
• Xây dựng một đường thẳng xác định bởi 2 điểm p0 và p1:
p(v) = (1-v) p0 + v p1




Do p0 và p1 di chuyển trong không gian, và di chuyển trên một
đường cong khác: p0 trở thành p0(u) và p1 trở thành p1(u).
Khi p0 và p1 di chuyển sẽ tạo nên mặt có qui luật được xác định:
p(u,v) = (1-v) p0(u) + v p1(u)

p1

p0

P1(u)

P0(u)

6






Biểu diễn dạng ẩn cho mặt phẳng:
(nx , ny , nz)(x, y, z) = D, trong đó nx , ny , nz không cùng
bằng 0
Mặt phẳng được xác định bởi
 Một điểm trên nó: vector vị trí là c
 Hai vector chỉ hướng a và b

do đó có dạng tham số là
 


p(u, v)  ua  vb  c

c

b
a

 uax  vbx  cx 



p(u, v)   ua y  vby  c y 



ua

vb

c
z
z 
 z




p(u, v)  uax  vbx  cx i  ua y  vby  c y  j  uaz  vbz  cz k
7




Mảnh phẳng (planar patch)
 Có thể biểu
 diễn tham
 số của mặt phẳng dạng

p(u, v)  ua  vb  c , vớiu, v  R

 Nhưng vùng trị của các tham số u và v được giới hạn

lại, thông thường: 0  u  1, 0  v  1


8





Mảnh phẳng là một hình bình hành mà các đỉnh của nó là các điểm
tương ứng với các đỉnh của không gian tham số.
Không gian tham số (parameter space)
 Là tập {(u, v) : 0  u  1, 0  v  1}



Trong không gian đối tượng (object space)
 Là mảnh phẳng tương ứng với không gian tham số.

v

không gian tham số

b

c

a
u
không gian đối tượng

9





Một mặt chứa cạnh thẳng (ruled surface) là một mặt
được định nghĩa bởi một họ {Lu} các đoạn hay đường
Lu
thẳng.

10




Dạng tham số của mặt chứa cạnh thẳng



p(u, v)  (1  v) p0 (u )  v p1 (u ),

u  (ustart , uend ) ; v  (vstart , vend ),


Các hàm vector vị trí p0(u) và p1(u) định
nghĩa các đường cong trong 3D

11


p(u, 1)


đường p1(u)

p(u, 0)

đường p0(u)

12





Đường cong: p(u, v' )  (1  v' ) p0 (u)  v' p1 (u)
(v’ là cố định) được gọi là v’-contour.
p(u, 1)

đường p1(u)

2/3-contour

p(u, 0)

đường p0(u)

13





Dãy các tam/tứ giác kề nhau tạo thành bề
mặt 3D.

Nguồn: />
14




Hình trụ (cylinder) là một mặt chứa cạnh thẳng
 Đường phát sinh (generator) là một đường thẳng, quét dọc theo một

đường lái, khi qt nó ln tự song song
 Đường lái (directrix), đường lái phải nằm trong một mặt phẳng.


Biểu diễn tham số của hình trụ






p(u, v)  p0 (u)  vd (u), d (u)  p1 (u)  p0 (u)
 Vì đường phát sinh ln tự song song, nên vector d(u) là hằng




p(u, v)  p0 (u)  vd


d

đường lái p0(u)
đường phát sinh

15


Thí dụ: Hình trụ trịn, đường lái là một vịng tròn

p(u, v)  (cos(u ), sin(u ),0)  v(0,0,1)



 cos(u )i  sin(u ) j  vk
z
d
y
x

p0(u)

16


Hình nón (cone) là một mặt chứa cạnh thẳng
Được sinh bởi một đường thẳng quét dọc theo một đường
cong phẳng và qua một điểm cố định (đỉnh của hình nón)




p(u, v)  (1  v) p0  vp1 (u)
p1(u)

p0 , đỉnh

17








Mặt xoay tròn (surface of revolution) là mặt được sinh bởi một
đường cong phẳng C khi nó quét xoay quanh một trục cố định.
Đường cong C là profile của mặt
trục quay
x
(
v
)





c(v)

c (v )   y (v )  ,
 z (v ) 


vớiv  (vstart, vend)
Mỗi đường cong C khi ở tại một vị trí quét được gọi là một kinh
tuyến (meridian) của mặt.
Một vĩ tuyến (parallel) của mặt là đường cong do một điểm của C
sinh ra khi nó quét.

18




Thí dụ mặt xoay trịn
 Trục quay là trục z
 Đường cong C (profile) nằm trong mặt xz, có biểu

diễn dạng tham số là c(v) = (x(v), z(v))
 Vị trí quét của C được xác định bởi tham số u là góc
từ trục x


Có biểu diễn tham số như sau:

p(u, v)  ( x(v) cos(u), x(v) sin(u), z(v))

19





Thí dụ: với c(v) = (1, v) trong mặt xz, trục quay là trục z, ta
có một hình trụ với biểu diễn tham số

p(u, v)  (cos(u), sin(u), v)

kinh tuyến

z
z
y
vĩ tuyến
x

u
x

20


z
z

y
x

u


x

21


Ax 2  By 2  Cz d  D  0, d  1, 2

Mặt bậc hai (quadric surface)

Ellipsoid
Hyperboloid một lá

2

2

2

2

2

2

2

2

2


 x  y z
        1  0
a b c
 x  y z
        1  0
a b c

Hyperboloid hai lá
 x  y z
        1  0
a b c

22


Mặt bậc hai
2

2

2

2

2

Hình nón elliptic

 x  y z
       0

a b c

Elliptic parabolic

 x  y
     z 0
a b

Hyperbolic parabolic

 x  y
     z  0
a b

2

2

23


1.

Thực hành: cài đặt hiển thị các mặt quy luật
với OpenGL.

24




×