Tải bản đầy đủ (.ppt) (48 trang)

slike bài giảng đồ họa máy tính đồ họa 2d các thuật toán xén hình

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 (157.46 KB, 48 trang )

ĐỒ HỌA 2D
ĐỒ HỌA 2D
CÁC THUẬT TOÁN XÉN HÌNH
CÁC THUẬT TOÁN XÉN HÌNH
Giảng viên : Bùi Tiến Lên
Trang 2
Xén hình là gì (Clipping) ?
Xén hình là gì (Clipping) ?
Là thao tác loại bỏ phần hình ảnh của thế giới thực nằm
bên ngoài một cửa sổ quan sát.
Trang 3
Các loại xén hình
Các loại xén hình
- Xén điểm
- Xén đoạn thẳng
- Xén đa giác
- Xén đối tượng
Xeùn ñieåm
Xeùn ñieåm
Trang 5
Cách xén
Cách xén
Input
Điểm P
Output
P thuộc cửa sổ W ?
l r
b
t
P(x, y)




≤≤
≤≤
tyb
rxl
WPW
WPW
Xeựn ủoaùn thaỳng
Xeựn ủoaùn thaỳng
Thuaọt toaựn Cohen-Sutherland
Thuaọt toaựn Cohen-Sutherland
Trang 7
Baứi toaựn
Baứi toaựn
Input
ẹoaùn thaỳng P
1
P
2
Output
P
1
P
2


W
P
1

P
2
P
1
P
2
Q
1
Q
2
Trang 8
Phân vùng
Phân vùng
Mặt phẳng được chia thành làm 5 vùng.
bên trong
Trang 9
Phaõn vuứng
Phaõn vuứng
beõn traựi beõn phaỷi
Trang 10
Phaân vuøng
Phaân vuøng
beân treân
beân döôùi
Trang 11
Maừ vuứng Caựch tớnh
Maừ vuứng Caựch tớnh
( )
tbrlC
WPC

WPC
WPC
WPC
: P ủieồm cuỷa C vuứngMaừ
tyt
byb
rxr
lxl
>=
<=
>=
<=
P
Tớnh maừ
vuứng C
Tớnh maừ
vuứng C
Trang 12
Maừ vuứng Nhaọn xeựt
Maừ vuứng Nhaọn xeựt
( )
0000C
( )
???1C
( )
??1?C
( )
1???C
( )
?1??C

Trang 13
Thuật toán
Thuật toán
Lặp
bước 1 : Tính mã vùng
C
1
là mã vùng của P
1
C
2
là mã vùng của P
2
bước 2 : Xét mã vùng
th1 : Đoạn thẳng nằm vùng bên trong
th2 : Đoạn thẳng thuộc các vùng bên ngoài
th3 : Còn lại
Trang 14
Trường hợp 1
Trường hợp 1
P
1
P
2
Dừng
PQ
PQ
Thì
0000C
0000C

vùngmã Nếu
22
11
2
1
=
=
Trang 15
Trường hợp 2
Trường hợp 2
trái bên vùngnằm PP
Thì
???1C
???1C
vùngmã Nếu
21
2
1
P
1
P
2
Trang 16
Trường hợp 2 : tiếp tục
Trường hợp 2 : tiếp tục
Dừng
Thì
trên bên vùngthuộc PP
1???C
1???C

dưới bên vùngthuộc PP
?1??C
?1??C
phải bên vùngthuộc PP
??1?C
??1?C
trái bên vùngthuộc PP
???1C
???1C
vùngmã Nếu
21
2
1
21
2
1
21
2
1
21
2
1
Trang 17
Trường hợp 3
Trường hợp 3
P
2
P
1
1moi2

2moi1
1
1
PP
PP
trong bên nằm P
Thì
0000C
vùngmã Nếu
=
=
Trang 18
Trường hợp 3 : tiếp tục
Trường hợp 3 : tiếp tục
P
1
P
2
P
1moi
2moi2
l211moi
1
1
PP
WPPP
trái bên vùngnằm P
Thì
???1C
vùngmã Nếu

=
∩=
Trang 19
Tóm tắt
Tóm tắt
Tính
mã vùng
Xét
Hết
Begin
End
P
1
, P
2
Q
1
, Q
2
P
1moi
,
P
2moi
th1 th2th3
Xeựn ủoaùn thaỳng
Xeựn ủoaùn thaỳng
Thuaọt toaựn Liang-Barsky
Thuaọt toaựn Liang-Barsky
Trang 21

Phương trình tham số
Phương trình tham số
( )
[ ]




−+=
−+=



∞∞∈
−+=
−+=
0,1 t với
t)PP(Py
t)PP(Px
: thẳng đoạn số tham trình Phương
,- t với
t)PP(Py
t)PP(Px
:thẳng đường số tham trình Phương
.P ,P điểm hai Cho
y1y2y1
x1x2x1
y1y2y1
x1x2x1
21

Trang 22
Vớ duù
Vớ duù
( ) ( )



+=
+=
t3y
t24x
: thaỳng ủửụứng soỏ tham trỡnh Phửụng .6,4B ,4,3A ủieồm 2 Cho
1 2 3 4 5 6 7 8 9
1
2
3
4
5
6
10
(
4
,
3
)
(
6
,
4
)

(
8
,
5
)
(
2
,
2
)
t
=
-
1
t
=
0
t
=
1
t
=
2
Trang 23
Thuật toán Liang-Barsky
Thuật toán Liang-Barsky
Thuật toán
bước 1 Lập hệ bất phương trình
bước 2 Giải hệ bất phương trình
bước 3 Nhận xét nghiệm

Trang 24
Böôùc 1
Böôùc 1
( )
( )
[ ]
1,0t
WtPPPW
WtPPPW
ty1y2y1b
rx1x2x1l

≤−+≤
≤−+≤
P
1
P
2
t
0
1
Trang 25
Böôùc 2
Böôùc 2
( )
( )
[ ]
1,0t
qtp
qtp

qtp
qtp
trình phöông Heä
PWqPPp
WPqPPp
PWqPPp
WPqPPp
Ñaët
44
33
22
11
y1t4y1y24
by13y1y23
x1r2x1x22
lx11x1x21





−=−=
−=−−=
−=−=
−=−−=

×