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

Do hoa may tinh

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 (4.91 MB, 198 trang )

11-Sep-13 1
Phan Lê Na
Bộ môn Khoa học Máy tính
Khoa Công nghệ Thông tin
Trường Đại học Vinh

11-Sep-13 2
Mục đích:
Cung cấp một số kỹ thuật đồ hoạ
Dùng ngôn ngữ lập trình minh hoạ kỹ thuật đồ hoạ
Yêu cầu:
- Học sinh phải nắm vững các kỹ thuật đồ hoạ
- Học sinh cố gắng hiểu và thuộc ngay tại lớp

11-Sep-13 3
Tài liệu tham khảo
1. Hoàng Kim, Dơng Anh Đức, Lê Đình Duy, Vũ Hải
Quân,
Giáo trình Cơ sở Đồ hoạ Máy tính
, NXB Giáo dục,
2000.
2. Lê Tấn Hùng, Huỳnh Quyết Thắng, Kỹ thuật đồ hoạ,
NXB KH-KT 2003.
3. Phan Hữu Phúc,
Cơ sở đồ họa máy tính
, NXB GD 2003.
4. Lơng Chi Mai-Huỳnh Thị Thanh Bình,
Nhập môn
ĐHMT
, NXB KH - KT 2004.


11-Sep-13 4
Nội dung
Chơng 1: Giới thiệu về đồ họa máy tính
Chơng 2: Kỹ thuật chuyển động hình phẳng
Chơng 3: Các thuật toán vẽ đờng
Chơng 4: Các phép biến đổi trong mặt phẳng

11-Sep-13 5
Chơng 1: Tổng quan về đồ họa máy tính
Màn hình đồ hoạ
Khởi tạo đồ hoạ
Hàm xử lý chế độ đồ hoạ
Khai báo unit đồ hoạ
Đóng đồ hoạ
Cấu trúc chung một chơng
trình đồ họa đơn giản
Thủ tục vẽ điểm
Thủ tục vẽ đờng thẳng
Thủ tục vẽ đờng tròn
Thủ tục vẽ hình chữ nhật
Thủ tục vẽ hình quạt
Thủ tục vẽ Ellipse
Hiển thị văn bản

11-Sep-13 6
-Trong suốt gần 50 năm phát triển của máy tính, khả năng phát sinh hình ảnh bằng
máy tính của chúng ta đã đạt tới mức hầu như tất cả các máy tính đều có khả năng đồ
họa.
-Đồ họa máy tính là một trong những lĩnh vực lí thú nhất và phát triển nhanh nhất của
tin học.

-Đồ họa máy tính đã có sức lôi cuốn mãnh liệt, cuốn hút rất nhiều người ở nhiều lĩnh
vực khác nhau như khoa học, nghệ thuật, kinh doanh, quản lí,
-Tính hấp dẫn và đa dạng của đồ họa máy tính có thể được minh họa rất trực quan
thông qua việc khảo sát các ứng dụng của nó.
1. Mét sè øng dông cña ®å ho¹:
-Hỗ trợ thiết kế
Khi đã thiết kế xong phần khung của đối tượng, các mô hình chiếu sáng, tô màu và
tạo bóng bề mặt sẽ được kết hợp để tạo ra kết quả rất gần với thế giới thực .
-Biểu diễn thông tin
Sử dụng đồ họa máy tính biÓu diÔn các biểu đồ, đồ thị, … dùng minh họa mối quan
hệ giữa nhiều đối tượng với nhau.
I. Giíi thiÖu vÒ ®å ho¹ m¸y tÝnh
11-Sep-13 7
-Lĩnh vực giải trí, nghệ thuật
Hỗ trợ cho các họa sĩ, các nhà tạo mẫu trong việc thiết kế các hình ảnh sống
động, và rất thực
Tạo ra các chương trình trò chơi, giải trí; hỗ trợ cho các kĩ xảo điện ảnh
-Giáo dục và đào tạo
-Giao tiếp giữa máy tính và người dùng
2. Kh¸i niÖm vÒ ®å ho¹:
Đồ họa máy tính là tất cả c¸c vÊn ®Ò liên quan đến việc sử dụng máy tính để phát sinh
ra hình ảnh: tạo, lưu trữ, thao tác trên các mô hình và các ảnh.
Đồ họa máy tính bao gồm thiết kế phần cứng như thiết bị hiển thị, các thuật toán cần
thiết để phát sinh các đường trên các thiết bị đã, các phần mềm được sử dụng cho người
lập trình hệ thống và người lập trình ứng dụng đồ họa, và các chương trình ứng dụng
tạo ảnh bằng máy tính.
11-Sep-13 8
Một hệ đồ họa gåm phần cứng và phần mềm.
Phần cứng bao gồm các thiết bị hiển thị và nhập dữ liệu, …
Phần mềm bao gồm các công cụ lập trình và các trình ứng dụng đồ họa.

3. Tæng quan vÒ mét hÖ ®å häa
3.1. Phần cứng
-Thiết bị hiển thị
Màn hình là thiết bị hiển thị thông dụng nhất trong một hệ đồ họa. Các thao tác
của hầu hết màn hình đều dựa trên thiết kế của ống tia âm cực (CRT – cathode
ray tube). Màn hình dạng điểm là dạng thường gặp nhất trong số các dạng màn
hình sử dụng CRT dựa trên công nghệ truyền hình.
11-Sep-13 9
3.2. Phần mềm
Phần mềm đồ họa phân thành 2 loại : các công cụ lập trình và các trình ứng dụng đồ
họa.
-Các công cụ lập trình cung cấp các hàm đồ họa có thể được dùng trong các ngôn
ngữ lập trình cấp cao như C, Pascal, (Ví dụ các thư viện đồ họa)
-Các hàm cơ sở bao gồm việc tạo các đối tượng cơ sở của hình ảnh như đoạn thẳng,
đa giác, đường tròn, …, thay đổi màu sắc, chọn khung nhìn, áp dụng các phép biến
đổi, ….
-Các ứng dụng đồ họa được thiết kế cho phép người dùng tạo các đối tượng, hình
ảnh, … không cần quan tâm tới việc chúng được tạo ra như thế nào.
Ví dụ Photoshop, AutoCAD, …
Mỗi điểm trên màn hình được gọi là một pixel hay là pel (viết tắt của picture
element).
-Các thiết bị nhập
Bµn phÝm, chuét.
11-Sep-13 10
II. Giíi thiÖu §å ho¹ Turbo C
1. Mµn h×nh ®å ho¹

O(0,0)
x x
getmaxxx()

y
getmaxy()
y
P(x,y)
11-Sep-13 11
Trong chế độ văn bản: màn hình có thể hiển thị 256 ký tự trong
bảng mã ASCII (25 dòng/trang, 80Ký tự/dòng)
Trong chế độ đồ họa: Thay cho các ký tự mã ASCII là các Pixel
(điểm). Đó là các phần tử nhỏ nhất đợc dùng để tạo nên hình vẽ.
Có hai chế độ hiển thị:
Chế độ văn bản (Text) và Chế độ đồ họa (Graph).

11-Sep-13 12
2. Khởi tạo đồ hoạ
a.
Yêu cầu các tệp
*.BGI: Chứa các tệp điều khiển màn hình
*.CHR: Chứa các phông chữ

graphics.h, stdlib.h, stdio.h,
conio.h, Dos.h,
11-Sep-13 13
Màn hình đồ hoạ gồm nhiều điểm ảnh đợc sắp
xếp trên các đờng thẳng nằm ngang và thẳng
đứng.
Số lợng các điểm ảnh phụ thuộc vào loại màn
hình (Driver) và ứng với mỗi loại màn hình lại còn
phụ thuộc vào kiểu màn hình (Mode).

11-Sep-13 14

ATT.BGI Dïng cho c¸c m¸y AAT&T 6300
CGA.BGI Dïng cho c¸c m¸y IBM CGA,MCGA
vµ c¸c m¸y t¬ng thÝch
EGAVGA.BGI Dïng cho c¸c m¸y IBM EGA,VGA
vµ c¸c m¸y t¬ng thÝch
HERC.BGI Dïng cho mµn h×nh Hercules
monochrome vµ c¸c m¸y t¬ng thÝch
IBM8514.BGI Dïng cho mµn h×nh IBM8514 vµ c¸c m¸y
t¬ng thÝch
PC3270.BGI Dïng cho mµn h×nh IBM3270 PC
Tªn tÖp tin KiÓu mµn h×nh ®å ho¹

11-Sep-13 15
C¸c tÖp tin ®ã lµ:
GOTH.CHR
LITT.CHR
SANS.CHR
TRIP.CHR
C¸c tÖp *.CHR lµ c¸c tÖp ph«ng ch÷

11-Sep-13 16
b. Khởi tạo đồ hoạ

void initgraph
(int *graphdriver, int *graphmode,
char *pathtodriver);
Trong đó:
graphdriver: biến kiểu int chỉ card màn hình
graphmode: biến kiểu int chỉ mode màn hình
pathtodriver : biến kiểu char chỉ đờng dẫn vào

th mục chứa các tập tin *.BGI
11-Sep-13 17
VÝ dô 1: void main()
{ int gd=EGA, gm=EGALO;
intgraph(&gd,&gm,”C:\\TC\\BGI”);
………….
}
gd=
1 = CGA
2 =MCGA
3 = EGA
4 = EGA64
gm=
0 = EGALO
1 = EGAHI
gm=
1 =VGAMED
0 = VGALO
2 = VGAHI
5=EGAMONO
9=VGA
7=HERCMONO
0 = DETECT;
11-Sep-13 18

DriverMode Sè ®iÓm ¶nh
EGA EGALO 640x200
EGAHI 640x350
VÝ dô 2: void main()
{ int gd=DETECT, gm;

intgraph(&gd,&gm,“”);
………….
}
11-Sep-13 19

Driver Mode Sè ®iÓm ¶nh
VGA VGALO 640x200
VGAMED 640x350
VGAHI 640x480
VÝ dô 3: void main()
{ int gd=0, gm;
intgraph(&gd,&gm,“”);
………….
}
11-Sep-13 20
3. Hµm xö lý chÕ ®é ®å ho¹

Hµm graphresult: int;
graphresult
== 0 (= = grOk): ChuyÓn ®îc sang chÕ ®é ®å häa
!=0 (!=grOk): cha chuyÓn ®îc sang chÕ ®é ®å
ho¹. §ang cã lçi, thêng sai ®êng dÉn.
11-Sep-13 21
VÝ dô:VÝ dô:

C¸ch 1C¸ch 1: : if (graphresult()!= grOk) exit(1);if (graphresult()!= grOk) exit(1);
C¸ch 2C¸ch 2::
if (graphresult() != grOk)if (graphresult() != grOk)
{{
printf("Press any key to halt:");printf("Press any key to halt:");

getch();getch();
exit(1);exit(1);
}}
11-Sep-13 22
4. 4. Khai b¸o Unit:Khai b¸o Unit:
5.5.§§ãng ®å ho¹ : ãng ®å ho¹ :
#include <graphics.h>#include <graphics.h>
#include <stdlib.h>#include <stdlib.h>
#include <stdio.h>#include <stdio.h>
#include <conio.h>#include <conio.h>
#include <dos.h>#include <dos.h>
closegraph();closegraph();
11-Sep-13 23
6. CÊu tróc chung mét ch¬ng tr×nh ®å häa ®¬n gi¶n
#include <graphics.h>
#include <stdlib.h>
#include <conio.h>
void main()
{ int gd= DETECT, gm;
//khai bao bien
initgraph(&gd, &gm, "");
if (graphresult()!= grOk) exit(1);
// ve hinh
getch();
closegraph();
}

11-Sep-13 24
7.1. Hµm vÏ ®iÓm: putpixel (int x,int y, int color);
Trong ®ã: x, y: lµ to¹ ®é ®iÓm

color: 0 15;
putpixel(300,300,7);
putpixel(250,100,Red);
VÏ ®iÓm cã mµu color t¹i to¹ ®é x,y
§èi víi m¸y 16 mµu :
7. C¸c hµm vÏ vµ t« mµu

11-Sep-13 25
§èi víi m¸y 16 mµu

Black = 0 DarkGray = 8
Blue = 1 LightBlue = 9
Green = 2 LightGreen = 10
Cyan = 3 LightCyan = 11
Red = 4 LightRed = 12
Magenta = 5 LightMagenta = 13
Brow = 6 Yellow = 14
LightGray = 7 White = 15

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×