1. Trang chủ
  2. » Luận Văn - Báo Cáo

Vẽ 1 ellipse, sau đó vẽ thêm 3 ellipse khác có cùng tâm với ellipse đã cho, có độ dãn ở trục OX là K và OY là 1. Sau đó vẽ 1 elip nghiêng 1 góc G độ có các trục không song song với các trục tọa độ

27 2,5K 4

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 375 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sau đó vẽ 1 elip nghiêng 1 góc G độ có các trục không song song với các trục tọa độ”... LỜI NÓI ĐẦUĐồ họa là một trong những lĩnh vực phát triển rất nhanh của ngành công ngh

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN

 BÁO CÁO BÀI TẬP LỚN MÔN HỌC

ĐỒ HỌA MÁY TÍNH

ĐỀ TÀI:“Vẽ 1 ellipse, sau đó vẽ thêm 3 ellipse khác có cùng tâm với ellipse đã cho, có độ dãn ở trục OX là K và OY là 1 Sau đó vẽ 1 elip nghiêng 1 góc G độ có các trục không song song với các trục tọa độ”

Trang 2

MỤC LỤC

LỜI NÓI ĐẦU 2

CHƯƠNG I KHẢO SÁT 3

1 Mục đích nghiên cứu 3

1.1 Về kỹ năng 3

1.2 Về tư duy 3

2 Đối tượng nghiên cứu 3

3 Khảo sát 3

3.1 Ứng dụng của hình Elip trong thực tế 3

3.2 Dự tính cần làm trong đề tài 3

CHƯƠNG II TỔNG QUAN VỀ ĐỒ HỌA MÁY TÍNH 4

1 Khái niệm kỹ thuật đồ họa máy tính (COMPUTER GRAGHICS) 4

2 Các kỹ thuật đồ họa 5

2.1 Kỹ thuật đồ họa điểm 5

2.2 Kỹ thuật đồ họa vector 5

3 Ứng dụng của đồ họa máy tính 6

CHƯƠNG III CÁC THUẬT TOÁN SỬ DỤNG TRONG ĐỀ TÀI 6

1 Thuật toán vẽ hình elip 6

1.1 Thuật toán Bresenham 7

1 2 Thuật toán Midpoint 11

2 Thuật toán vẽ đồ thị hàm số 13

2.1 Bài toán đặt ra: Vẽ đồ thị của hàm số y = f(x) trên đoạn [Min,Max] 13

2 2 Giải thuật 13

CHƯƠNG IV CÁC PHÉP BIẾN ĐỔI 14

1 Phép tịnh tiến (Translation) 14

2 Phép biến đổi tỷ lệ 16

3 Phép quay 16

4 Phép đối xứng 19

CHƯƠNG V TÀI LIỆU THAM KHẢO 20

CHƯƠNG VI CODE BÀI TẬP LỚN 20

KẾT LUẬN 26

Trang 3

LỜI NÓI ĐẦU

Đồ họa là một trong những lĩnh vực phát triển rất nhanh của ngành công nghệthông tin Nó được ứng dụng rộng rãi trong nhiều lĩnh vực khoa học và công nghệ.Chẳng hạn như trong y học, kiến trúc, giải trí… Đồ họa máy tính đã giúp chúng ta thayđổi cách cảm nhận và sử dụng máy tính, nó đã trở thành những công cụ trực quan quantrọng không thể thiếu trong đời sống hằng ngày Vì vậy, môn đồ họa đã trở thành mộttrong những môn học chính trong các chuyên nghành Công nghệ thông tin ở cáctrường đại học

Trong bài tập lớn bộ môn đồ họa máy tính nhóm em được giao đề tài: “Vẽ 1

ellipse, sau đó vẽ thêm 3 ellipse khác có cùng tâm với ellipse đã cho, có độ dãn ở trục OX là K và OY là 1 Sau đó vẽ 1 elip nghiêng 1 góc G độ có các trục không song song với các trục tọa độ” Được sự hướng dẫn của cô giáo bộ môn cũng như

qua các cổng thông tin Internet, tài liệu và sự tìm tòi trên các cuốn sách tài liệu liênquan tới đề tài nhóm em đã hoàn thành bài tập lớn được giao Trong quá trình hoànthành nhóm đã gặp được một số khó khăn cũng như thuận lợi và còn nhiều hạn chế.Nhóm em rất mong được sự đóng góp, bổ sung ý kiến để bài tập lớn của nhóm em cóthể hoàn thành tốt các đề tài tiếp theo cũng như đề tài của nhóm sau này

Hà Nội, Ngày 14 tháng 2 năm 2013

Trang 4

CHƯƠNG I KHẢO SÁT

1 Mục đích nghiên cứu

1.1 Về kỹ năng

Xác định được độ dài trục lớn, trục nhỏ, tiêu cự, tiêu điểm của elip

Xác định được giao điểm vủa Elip với các trục tọa độ

Sử dụng tốt các thuật toán, cách vẽ hình elip và các phép biến đổi trong đồ họa1.2 Về tư duy

Thấy được mối liên hệ giữa Elip với đường tròn

Hiểu được tính chất hình học và giải một số bài toán cơ bản về Elip

2 Đối tượng nghiên cứu

Các phép biến hình như tịnh tiến, biến đổi tỉ lệ, phép quay, phép tịnh tiến và ứngdụng của nó trong hình học

Cách vẽ hình elip trong tọa độ không gian

3 Khảo sát

3.1 Ứng dụng của hình Elip trong thực tế

- Dùng trong toán học, công nghệ thông tin : vẽ hình Elip, đồ họa…

- Sản xuất các vật dụng trong cuộc sống : chậu tắm, mắt kính…

3.2 Dự tính cần làm trong đề tài

- Vẽ hình elip

- phép tỉ lệ

Trang 5

- phép tịnh tiên

- phép quay

CHƯƠNG II TỔNG QUAN VỀ ĐỒ HỌA MÁY TÍNH

1 Khái niệm kỹ thuật đồ họa máy tính (COMPUTER GRAGHICS)

Kỹ thuật đồ họa máy tính là phương pháp và công nghệ dùng trong việc chuyểnđổi qua lại giữa dữ liệu và hình ảnh trên màn hình bằng máy tính [ISO] Kỹ thuật đồhọa hay đồ họa máy tính còn được hiểu dưới dạng phương pháp và kỹ thuật tạo hìnhảnh từ các mô hình toán học mô tả các đối tượng hay dữ liệu lấy được từ các đối tượngcó thật trong thực tế

Thuật ngữ kỹ thuật đồ họa máy tính được đề xuất bởi một nhà khoa học người

Mỹ tên là William Fetter vào năm 1960 Khi đó ông còn đang nghiên cứu xây dựng

mô hình buồng lái máy bay cho hãng Boeing của Mỹ Ông đã dựa trên các hình ảnh bachiều của mô hình của người phi công trong buồng lái của máy bay để xây dựng lênmột mô hình tối ưu cho buồng lái máy bay Boeing

Lịch sử đồ họa trong những năm 1960 còn được đánh dấu bởi dự án Sketchpadtại MIT với Ivan Shutherland tại hội nghị Fall Joint Computer cùng với sự kiện lần đầutiên tạo mới, hiển thị và thay đổi được dữ liệu hình ảnh trực tiếp trên màn hình trongthời gian thực

Trang 6

Hình 1.1 Ivan Shutherland

Kỹ thuật đồ họa còn liên tục hoàn thiện vào những năm 1970 với sự xuất hiệncủa các chuẩn về đồ họa làm tăng cường khả năng giao tiếp và tái sự dụng của cácphần mềm cũng như các thư viện đồ họa

2 Các kỹ thuật đồ họa

2.1 Kỹ thuật đồ họa điểm

Nguyên lỹ xây dựng các mô hình và hình ảnh trong kỹ thuật đồ họa điểm gồm :các mô hình, hình ảnh của các đối tượng được hiển thị thông qua từng pixel

Có hai phương pháp để tạo ra các pixel này:

- Phương pháp thứ nhất là dùng phần mềm để vẽ trực tiếp từng pixel một dựatrên các lỹ thuyết mô phỏng

- Phương pháp thứ hai là số hóa hình ảnh thực của đối tượng Sau đó chúng ta cóthể sửa đổi hoặc xử lý mảng các pixel thu được theo những phương pháp khác nhau đểthu được hình ảnh đặc trưng của đối tượng

2.2 Kỹ thuật đồ họa vector

Trang 7

Nguyên lý xây dựng các mô hình và hình ảnh trong kỹ thuật đồ họa vector nhưsau : trước hết người ta xây dựng mô hình hình học cho mô hình hoặc hình ảnh của đốitượng, xác định các thuộc tính của mô hình hình học này, sau đó dựa trên mô hìnhhình học này sẽ thực hiện quá trình tô trát để hiển thị từng điểm của mô hình, hình ảnhthực của đối tượng Ở kỹ thuật đồ họa này chúng ta chỉ lưu trữ mô tả của toán học củacác thành phần trong mô hình hình học cũng với các thuộc tính tương ứng của nó màkhông lưu trữ lại toàn bộ tất cả các pixel của hình ảnh tô trát được.

3 Ứng dụng của đồ họa máy tính

Ngày nay, đồ họa máy tính được xử dụng trong nhiều lĩnh vực khác nhau như:công nghiệp, thương mại, quản lý giáo dục, giải trí…như:

- Tạo giao diện như các chương trình ứng dụng Windows, Excel…

- Tạo ra các biểu đồ dùng trong thương mại, khoa học và kỹ thuật

- Tự động hóa văn phòng và chế bản điện tử

- Thiết kế với sự trợ giúp của máy tính

CHƯƠNG III CÁC THUẬT TOÁN SỬ DỤNG TRONG ĐỀ

TÀI

1 Thuật toán vẽ hình elip

Để đơn giản, ta chọn Ellipse có tâm ở gốc tọa độ Phương trình của nó có dạng: + = 1

Ta có thể viết lại:

Y2 = x2 + b2 (*)

Trang 8

Hình 1.1 Hình ellipse

(*) Ý tưởng : Giống như thuật toán vẽ đường tròn Chỉ có sự khác biệt ở đây là taphải vẽ 2 nhánh : Một nhánh từ trên xuống và một nhánh từ dưới lên và 2 nhánh này sẽgặp nhau tại điểm mà ở đó hệ số góc của tiếp tuyến với Ellipse = -1

Phương trình tiếp tuyến với Ellipse tại điểm (x0,y0) € (E) :

X0 + y0 = 1

Suy ra, hệ số góc của tiếp tuyến tại điểm đó là :

1.1 Thuật toán Bresenham

Ở đây, ta chỉ xét nhánh vẽ từ trên xuống

Giả sử điểm ( xi , yi ) đã được vẽ Điểm tiếp theo cần chọn sẽ là ( xi + 1,yi ) hoặc(xi+1,yi – 1)

Thay (xi + 1) vào (*) :y2 = (xi + 1)2 + b2

Đặt

d1 = yi2 – y2 = yi2 + (xi + 1)2 – b2

Trang 10

p:=p - 4*y + 2*(b2/a2)*(2*x+3);y:=y-1;

End;

x:=x+1;

Trang 12

If pi < 0 Then pi+1 = pi + b2 + 2b2xi+1

Else pi+1 = pi + b2 + 2b2xi+1 – 2a2yi+1

Nhánh 2:

P1 = b2(xi + )2 + a2(yi – 1)2 – a2b2

If pi > 0 Then pi+1 = pi + a2 – 2a2yi+1

Else pi+1 = pi + a2 + 2b2xi+1 – 2a2yi+1

Trang 13

y:=y-1;

Trang 14

2 Thuật toán vẽ đồ thị hàm số

2.1 Bài toán đặt ra: Vẽ đồ thị của hàm số y = f(x) trên đoạn [Min,Max].

*Ý tưởng: Cho x chạy từ đầu đến cuối để lấy các tọa độ (x,f(x)) sau đó làm trònthành số nguyên rồi nối các điểm đó lại với nhau

2 2 Giải thuật

 Bước 1: Xác định đoạn cần vẽ [Min,Max]

 Bước 2: - Đặt gốc tọa độ lên màn hình (x0,y0)

- Chia tỷ lệ vẽ trên màn hình theo hệ số k

- Chòn bước tăng dx của mỗi điểm trên đoạn cần vẽ

 Bước 3: Chọn điểm đầu cần vẽ x = Min, tính f(x)

Đổi tọa độ màn hình và làm tròn:

x1:=x0 + Round(x.k);

y1:=y0 – Round(y.k);

Trang 15

Di chuyển đến (x1,y1): MOVETO(x1,y1);

Bước 4 :

Tăng x lên với số ra dx : x := x + dx ;

Đổi qua tọa độ màn hình và làm tròn :

x2 := x0 + Round(x.k) ;

y2 :=y0 – Round(y.k) ;

Vẽ đến (x2,y2) :LINETO(x2,y2) ;

Bước 5 : Lặp lại bước 4 cho đến khi x > Max thì dừng

CHƯƠNG IV CÁC PHÉP BIẾN ĐỔI

1 Phép tịnh tiến (Translation)

Có hai quan điểm về phép biến đổi hình học, đó là :

- Biến đổi đối tượng : thay đổi tọa độ của các điểm mô tả đối tượng theo một quytắc nào đó

- Biến đổi hệ tọa độ : tạo ra một hệ tọa độ mới và tất cả các điểm mô tả đối tượngsẽ được chuyển về hệ tọa độ mới

Các phép biến đổi hình học cơ sở là : tịnh tiến, quay, biến đổi tỉ lệ

Phép biến đổi Affine hai chiều ( gọi tắt là phép biến đổi) là một ánh xạ T biến đổiđiểm P(Px,Py) thành điểm Q(Qx,Qy) theo hệ phương trình sau :

Qx = a*Px + c*Py + trx

Qy = b*Px + d*Py + try

Trang 16

(Qx,Qy) = (Px,Py) (ad – bc) + (trx,try)

→ Q = P.M + tr

Dùng để dịch chuyển đối tượng từ vị trí này sang vị trí khác

Nếu gọi trx và try lần lượt là độ dời theo trục hoành và trục tung thì tọa độ điểmmới Q(x’,y’) sau khi tịnh tiến điểm P(x,y) sẽ là:

Hình 3.1 Phép biến đổi tịnh tiến điểm P thành điểm Q

2 Phép biến đổi tỷ lệ

try

trx

Q(x’,y’)

P(x,y)

Trang 17

Phép biến đổi tỷ lệ làm thay đổi kích thước của đối tượng Để co hay giãn tọa độcủa một điểm P(x,y) theo trục hoành và trục tung lần lượt là Sx và Sy ta nhân Sx và Sy

lần lượt cho các tọa độ của P

- Nếu hai hệ số tỷ lệ khác nhau thì ta gọi là phép không đồng dạng Trong trườnghợp hoặc Sx hoặc Sy có giá trị 1, ta gọi đó là phép căng

3 Phép quay

Phép quay làm thay đổi hướng của đố tượng Một phép quay đòi hỏi phải có tâmquay, góc quay Góc quay dương thường được quy ước là chiều ngược kim đồng hồ

Phép quay quanh gốc tọa độ

Ta có công thức biến đổi của phép quay điểm P(x,y) quanh gốc tọa độ góc Ө(hình 3.2)

Trang 18

Hình 3.2 Phép quay quanh gốc tọa độ

Phép quay quanh một điểm bất kỳ

Xét điểm P(P.x,P.y) quay quanh điểm V(V.x,V.y) một góc Ө đến điểmQ(Q.x,Q.y) Ta có thể xem phép quay quanh tâm V được kết hợp từ các phép biến đổi

cơ bản sau:

- Phép tịnh tiến (-V.x,-V.y) để dịch chuyển tâm quay về gốc tọa độ

Ta cần xác định tọa độ của điểm Q

- Từ phép tịnh tiến ( -V.x,-V.y) biến đổi điểm P thành P’ ta được:

P’ = P + V

Hay

P’.x = P.x – V.x

P’.y = P.y – V.y

- Phép quay quanh gốc tọa độ biến đổi điểm P’ thành Q’

0

P(x,y)Q(x’,y’)

Trang 19

Q’ = P’.M

Q’.x = P’.x*cosӨ - P’.y*sinӨ

Q’.y = P’.x*sinӨ + P’.y*cosӨ

- Phép tịnh tiến ( +V.x, +V.y) biến đổi điểm Q’ thành Q ta được

Q = Q’ + V

Hay

Q.x = Q’.x + V.x

Q.y = Q’.y + V.y

→ Q.x = ( P.x – V.x)*cosӨ - (P.y – V.y)*sinӨ + V.x

Q.y = (P.x – V.x)*sinӨ + (P.y – V.y)*cosӨ + V.y

→ Q.x = P.x*cosӨ - P.y*sinӨ + V.x*(1- cosӨ) + V.y*sinӨ

Q.y = P.x*sinӨ - P.y*cosӨ - V.x*sinӨ + V.y* (1-cosӨ)

Trang 20

CHƯƠNG VI CODE BÀI TẬP LỚN

Trang 22

}

void veDen(float x, float y)

{

int xm = (int) (tlx*(x-xw1)+xv1); int ym = (int) (tly*(yw2-y)+yv1); lineto(xm,ym);

Trang 24

{

y ;

if(p>0) p= p+a*a*(1-2*y) ;

else { x++ ; p=p+a*a*(1-2*y)+2*b*b*x; };

Trang 26

int x1,y1,k; float a,b;

cout<<"Nhap toa do tam elip A(x1,y1): ";cin>>x1;cin>>y1;

cout<<"Nhap ban kinh a= ";cin>>a;

cout<<"Nhap ban kinh b= ";cin>>b;

cout<<"nhap do dan truc ox= ";cin>>k ;

Trang 27

- Các thành viên trong nhóm tích cực tham gia hoạt động, thảo luận tìm hiểunghiên cứu về đề tài.

- Thời gian thực hiện đề tài tương đối dài

Bên cạnh những mặt thuận lợi chúng tôi cũng gặp không ít khó khăn như là:

- Nguồn tài liệu về đề tài nghiên cứu còn hạn chế

- Kiến thức về đề tài của các thành viên trong nhóm còn hạn chế

Sau quá trình nghiên cứu và tìm hiểu về đề tài, mỗi thành viên trong nhóm đã củngcố lại kiến thức đã học và bổ sung thêm một số kiến thức mới về môn đồ họa máytính Thành quả lớn nhất mà cả nhóm nhận được sau khi nghiên cứu xong là kĩ nănghoạt động nhóm Mỗi thành viên đã hiểu được trách nhiệm của bản thân đối với côngviệc chung của nhóm Qua đó mà mỗi thành viên đều cố gắng hoàn thành tốt côngviệc mà mình được giao

Bài báo cáo còn nhiều thiếu sót, chúng tôi rất mong bạn đọc thông cảm và bổ sung ýkiến để chúng tôi hoàn thiện bài báo cáo của mình một cách hoàn chỉnh, đầy đủ nhất

Chúng tôi xin chân thành cảm ơn!

Ngày đăng: 21/11/2014, 00:39

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Ivan Shutherland - Vẽ 1 ellipse, sau đó vẽ thêm 3 ellipse khác có cùng tâm với ellipse đã cho, có độ dãn ở trục OX là K và OY là 1. Sau đó vẽ 1 elip nghiêng 1 góc G độ có các trục không song song với các trục tọa độ
Hình 1.1 Ivan Shutherland (Trang 6)
Hình 1.1 Hình ellipse - Vẽ 1 ellipse, sau đó vẽ thêm 3 ellipse khác có cùng tâm với ellipse đã cho, có độ dãn ở trục OX là K và OY là 1. Sau đó vẽ 1 elip nghiêng 1 góc G độ có các trục không song song với các trục tọa độ
Hình 1.1 Hình ellipse (Trang 8)
Hình 3.1 Phép biến đổi tịnh tiến điểm P thành điểm Q - Vẽ 1 ellipse, sau đó vẽ thêm 3 ellipse khác có cùng tâm với ellipse đã cho, có độ dãn ở trục OX là K và OY là 1. Sau đó vẽ 1 elip nghiêng 1 góc G độ có các trục không song song với các trục tọa độ
Hình 3.1 Phép biến đổi tịnh tiến điểm P thành điểm Q (Trang 16)
Hình 3.2 Phép quay quanh gốc tọa độ - Vẽ 1 ellipse, sau đó vẽ thêm 3 ellipse khác có cùng tâm với ellipse đã cho, có độ dãn ở trục OX là K và OY là 1. Sau đó vẽ 1 elip nghiêng 1 góc G độ có các trục không song song với các trục tọa độ
Hình 3.2 Phép quay quanh gốc tọa độ (Trang 18)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w