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

slike bài giảng đồ họa máy tính đồ họa 2d quy trình hiển thị

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 (270.69 KB, 29 trang )

ĐỒ HỌA 2D
ĐỒ HỌA 2D
QUI TRÌNH HIỂN THỊ
QUI TRÌNH HIỂN THỊ
Giảng viên : Bùi Tiến Lên
Trang 2
Các bước hiển thò
Các bước hiển thò
Input : Mô hình các đối tượng
Output : Hình ảnh của các đối tượng
bước 1 : Biến đổi các đối tượng
bước 2 : Xén các đối tượng
bước 3 : Chuyển hệ tọa độ
bước 4 : Vẽ các đối tượng
Trang 3
Moâ hình ñoái töôïng
Moâ hình ñoái töôïng
Trang 4
böôùc 1 : bieán ñoåi
böôùc 1 : bieán ñoåi
Trang 5
bửụực 2 + 3 : xeựn + chuyeồn toùa ủoọ
bửụực 2 + 3 : xeựn + chuyeồn toùa ủoọ
Trang 6
böôùc 4 : veõ
böôùc 4 : veõ
Keát quaû
ÑOÀ HOÏA 2D
ÑOÀ HOÏA 2D



MOÂ HÌNH
MOÂ HÌNH
Trang 8
Đối tượng được biểu diễn như thế nào ?
Đối tượng được biểu diễn như thế nào ?
Các đối tượng cơ sở

Điểm

Đoạn thẳng

Đa giác

Đường cong (bezier, spline, bspline …)
Các đối tượng phức tạp được tạo thành từ các đối
tượng cơ sở
Trang 9
Tổ chức tập tin dữ liệu
Tổ chức tập tin dữ liệu

đối tượng cơ sở 1

đối tượng cơ sở 2









.TXT
Trang 10
Moâ hình baèng ñoaïn thaúng
Moâ hình baèng ñoaïn thaúng
1
3
2
line x
1
y
1
x
2
y
2
r g b
1 2 3 4 5
1
2
3
4
5
mm
//cac doan thang
line 0 0 4 0 255 0 0
line 4 0 0 2.5 255 0 0
line 0 2.5 0 0 255 0 0
TAM_GIAC.TXT
Trang 11

Moâ hình baèng ña giaùc
Moâ hình baèng ña giaùc
polygon n x
1
y
1
… x
n
y
n
r g b
1 2 3 4 5
1
2
3
4
5
mm
1
3
2
//cac da giac
polygon 3 0 0 4 0 0 2.5 255
0 0
TAM_GIAC.TXT
Trang 12
Ví duï
Ví duï
1
5

4
3
2
9
6
8
7
10
13 12
11
1 2 3 4 5 6 7 m
1
2
3
4
5
//cac doan thang
line 0 0 6 0 255 0 0
line 6 0 6 2.5 255 0 0
line 6 2.5 3 3.5 255 0 0
line 3 3.5 0 2.5 255 0 0
line 0 2.5 0 0 255 0 0
line 1 1 2 1 0 255 0
line 2 1 2 2 0 255 0
line 2 2 1 2 0 255 0
line 1 2 1 1 0 255 0
line 4 0 5 0 0 0 255
line 5 0 5 2 0 0 255
line 5 2 4 2 0 0 255
line 4 2 4 0 0 0 255

NHA.TXT
Trang 13
Ví duï
Ví duï
0.2 0.4 0.6 0.8 1.0 mm
0.2
0.4
0.6
0.8
1.0
// cac doan thang
line 0 0 0.5 1 0 0 0
line 1 0 0.5 1 0 0 0
line 0.25 0.5 0.75 0.5 0 0 0
1
3
2
4 5
A.TXT
Trang 14
Ví duï
Ví duï
1
8 7
65
43
2
9 10
11
0.2 0.4 0.6 0.8 1.0 mm

0.2
0.4
0.6
0.8
1.0
Trang 15
Caøi ñaët
Caøi ñaët
// Lưu tọa độ của một điểm
struct TPoint2D {
double x, y;
};
// Lưu thông tin của một đa giác
struct TPolygon2D {
int n;
TPoint2D point[100];
};
Trang 16
Cài đặt
Cài đặt
void Read_Draw_2D(CDC *pDC, char *filename)
{
ifstream f(filename);
if(f.fail()) return;
while(!f.eof())
{
char object[32];
f >> object;
if(strcmpi(object, “LINE”) == 0)
{

TPoint2D P1, P2;
int r, g, b;
// Doc doan thang
f >> P1.x >> P1.y >> P2.x >> P2.y >> r >> g >> b;
// Ve doan thang
pDC->MoveTo(P1.x, P1.y);
pDC->LineTo(P2.x, P2.y);
}
}
}
đọc
đọc
đọc
đọc
biến đổi
biến đổi
biến đổi
biến đổi
xén
xén
xén
xén
chuyển tọa độ
chuyển tọa độ
chuyển tọa độ
chuyển tọa độ
vẽ
vẽ
vẽ
vẽ

ẹO HOẽA 2D
ẹO HOẽA 2D
BIEN ẹOI TOẽA ẹO
BIEN ẹOI TOẽA ẹO
Trang 18
Daãn nhaäp
Daãn nhaäp
Trang 19
Biến đổi tọa độ window – viewport là gì ?
Biến đổi tọa độ window – viewport là gì ?
Là phép chuyển đổi tọa độ thế giới thực hai chiều sang
tọa độ màn hình.
hệ tọa độ thế giới thực hệ tọa độ màn hình
Trang 20
Công thức cho điểm
Công thức cho điểm
thế giới thực màn hình
l
r
t
b
l
r
b
t
vùng quan sát
W
vùng hiển thò
V
P P’

Trang 21
Công thức cho điểm
Công thức cho điểm
2
WW
VV
WW
)
2
VV
P(P
2
WW
VV
WW
)
2
VV
P(P
thực giới Thế hình Màn
2
VV
WW
VV
)
2
WW
P(P
2
VV

WW
VV
)
2
WW
P(P
hình màn thực giới Thế
bt
bt
btbt
'
yy
lr
lr
lrlr
'
xx
bt
bt
btbt
y
'
y
lr
lr
lrlr
x
'
x
+

+

−+
−=
+
+

−+
−=

+
+

−+
−=
+
+

−+
−=

Trang 22
Công thức cho đoạn thẳng
Công thức cho đoạn thẳng
A
B
A’
B’
thế giới thực màn hình
Trang 23

Công thức cho đa giác
Công thức cho đa giác
thế giới thực màn hình
Trang 24
Hệ số méo
Hệ số méo
Khi xác lập cửa sổ window W và cửa sổ viewport V phải lưu ý đến hệ số
“méo”
bt
bt
lr
lr
WW
VV
WW
VV
r




=
thế giới thực màn hình
l
r
t
b
l
r
b

t
W
V
Trang 25
Heä soá meùo
Heä soá meùo

×