1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục

98 311 0

Đ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 98
Dung lượng 2,82 MB

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

Nội dung

3 Một trong các yêu cầu chình của một hệ thống đồ họa là các ứng dụng, áp dụng cho nhiều hệ thiết bị, phải được phát triển không phụ thuộc vào phần cứng.. Hệ tọa độ thế giới thực và hệ t

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan :

Nhưng nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của Tiến sỹ Hồ Ngọc Vinh trường Đại học Sư phạm Kỹ thuật Vinh

Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố

Trang 2

TÀI LIỆU THAM KHẢO

1 Văn Như Cương –Trần Đức Huyên – Nguyễn Mộng Hy, Hình học 11 (Sách chỉnh lí hợp nhất năm 2000), NXB Giáo dục

2 Văn Như Cương – Phạm Khắc Ban – Tạ Mân (2003), Bài tập Hình học 11,(Sách thí điểm Ban khoa học tự nhiên – Bộ 1), NXB Giáo dục

3 Văn Như Cương – Đoàn Quỳnh– Tạ Mân- Phạm Khắc Ban (2007), Hình học Nâng cao11, NXB Giáo dục

4 Lê Mâu Thống (1996), Vũ Thiện Căn – Trần Trân Châu - Đinh Quang Hạo – Trần Đức Huyên – Lê Mậu Thảo, Phương Pháp Chuyên Để Hình Học Không Gian NXB

Trẻ

5 Lâm Tấn Dũng – Các phương pháp giải toán hình học không gian

6 Dương Anh Đức, Lê Đình Duy, Giáo trình Đồ họa máy tính, Khoa Công nghệ thông

tin, Trường ĐH Khoa học tự nhiên (lưu hành nội bộ), 1996, 237tr

7 Đặng Minh Hoàng, Đồ họa với Matlab 5.3, NXB Thống kê, 2000

8 Hoàng Kiếm, Dương Anh Đức, Lê Đình Duy, Vũ Hải Quân Giáo trình Cơ sở Đồ họa Máy Tính, NXB Giáo dục, 2000

9 Nguyễn Bá Kim, Phương pháp dạy học môn toán, NXB ĐHSP, 2002

10 Đào Thái Lai, Ứng dụng CNTT và vấn đề đổi mới PPDH môn Toán, Tạp chí

Nghiên cứu Giáo dục, số 9/2002

Trang 3

CÁC WEBSITE THAM KHẢO:

Trang 4

DANH MỤC HÌNH VẼ

Hình 1.1 Hệ thống đồ họa 2

Hình 1.2 Vẽ đoạn thẳng PQ 6

Hình 1.3 Danh sách các đỉnh 9

Hình 1.4 Đường viền trên mặt 2D 11

Hình 1.5 Sau khi “Translational sweep” 11

Hình 1.6 Đường viền trên mặt 2D 11

Hình 1.7: Đường viền C quay trục z một góc u 11

Hình 1.8: Các khối hình cơ bản 17

Hình 2.1: Tâm quan sát 27

Hình 2.2: Hướng mắt quan sát 27

Hình 2.3: Tọa độ và góc 28

Hình 2.4: Phép chiếu ảnh 3D lên mặt phẳng quan sát 28

Hình 2.5: Định vị theo tọa độ gián tiếp 30

Hình 2.6: Định vị theo tọa độ trực tiếp 30

Hình 2.7: Định vị điểm P với hệ tọa độ 1 30

Hình 2.8: Định vị điểm P với hệ tọa độ 2 30

Hình 2.9: Phép chiếu phối cảnh 1 31

Hình 2.10: Phép chiếu phối cảnh 2 31

Hình 2.11: Phép chiếu phối cảnh 3 31

Hình 2.12 Phép chiếu song song 32

Hình 2.13: Phép biến đổi cơ bản 34

Hình 2.14: Tịnh tiến góc O thành O‟ 34

Hình 2.15: Quay hệ (X1,Y1,Z1) một góc -‟ quanh trục Z1 35

Hình 2.16: Quay hệ (X1,Y1,Z1) góc 900 +  quanh trục X2 36

Hình 2.17: Biến đổi hệ trục tọa độ trực tiếp thành hệ gián tiếp 37

Trang 5

Hình 2.18: Chiếu phối cảnh (a), (b) 38

Hình 2.19: Phép chiếu song song 39

Hình 2.20: D là khoảng cách từ ảnh đến mắt 39

Hình 2.21: R là khoảng cách từ ảnh đến mắt 39

Hình 3.1: Vẽ đồ thị bằng lệnh Plot 53

Hình 3.2: Vẽ thêm đồ thị cosx 54

Hình 3.3: Thay đổi trật tự các đối số 54

Hình 3.4: Khai báo màu khác cho dấu 56

Hình 3.5: Dùng linewidth tăng độ rộng của đường vẽ (lines) 56

Hình 3.6: Vẽ đồ thị sinx và cosx 58

Hình 3.7: Thêm nét vẽ vào đồ thị bằng lệnh hold 59

Hình 3.8: Thêm đường cos vào hình 3.3 59

Hình 3.9: Chia cửa sổ thành ma trận m x n để vẽ đồ thị 60

Hình 3.10: Hàm plot3 cho phép vẽ các điểm và đương trong không gian 60

Hình 3.11: Hàm vẽ plot và loglog 61

Hình 3.12: Hàm vẽ semilogx và semilogy 62

Hình 3.13: Vẽ 3D với trục z tuyến tính và trục z logarith 63

Hình 3.14: Hiện thị số % bằng hàm pie 64

Hình 3.15: Hàm barh và hàm barh3 cho phép vẽ đồ thị cột nằm ngang 65

Hình 3.16: Vẽ mặt với lệnh mesh, meshc 69

Hình 3.17: Vẽ mặt với lệnh meshz và waterfall 69

Hình 3.18: Vẽ các mặt được tô bóng 70

Trang 6

MỤC LỤC

CHƯƠNG I 1

GIỚI THIỆU VỀ ĐỒ HOẠ 3D 1

1.1 Giới thiệu về đồ họa máy tính 1

1.1.1 Khái niệm về đồ họa máy tính 1

1.1.2 Tổng quan về một hệ đồ họa 2

1.1.3 Các đối tượng của đồ họa cơ sở 4

1.1.4 Một số ứng dụng của đồ họa máy tính 6

1.2 Xây dựng các khối hình 3D 8

1.2.1 Các mô hình biểu diễn khối 3D 8

1.2.2 Tạo khối 3D 10

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

1.3.2 Phép tịnh tiến 18

1.3.3 Phép quay hình 18

1.3.4 Phép biến dạng (co dãn): 19

1.3.5 Giải thuật 19

CHƯƠNG II 26

HỆ TỌA ĐỘ BIỂU DIỄN CÁC ĐỐI TƯỢNG 26

2.1 Một số hệ tọa độ 26

2.1.1 Hệ họa độ cục bộ (Local coordinates) 26

2.1.2 Hệ tọa dộ thế giới thực (World coordinates) 26

2.1.3 Hệ tọa độ quan sát (Camera coordinates) 27

2.2 Các phép chiếu của không gian trên mặt phẳng 30

2.2.1 Phép chiếu phối cảnh 30

2.2.2 Phép song song 32

2.2.3 Phép chiếu trực giao 32

Trang 7

2.2.4 Công thức các phép chiếu trên màn hình 33

CHƯƠNG III 40

ỨNG DỤNG ĐỒ HỌA 3D TRONG DẠY HỌC TOÁN 40

3.1 Vai trò của đồ họa 3D trong dạy học toán 40

3.1.1 Truyền tải nội dung kiến thức toán học 40

3.1.2 Rèn luyện kỹ năng, củng cố, ôn tập kiến thức cũ 40

3.1.3 Hỗ trợ các phương pháp học tập, phương pháp thực nghiệm toán học 41

3.1.4 Hình thành phẩm chất, đạo đức, tác phong cho học sinh 41

3.2 Xây dựng thư viên hình học trong đồ họa 3D 42

3.2.1 Xây dựng thư viện nhân vật 42

3.2.2 Xây dựng thư viện nhân vật và thư viện động tác 43

3.3 Lập trình đồ họa 3D với MATLAP trong dạy học toán 50

3.3.1 Tổng quan về MATLAB 50

3.3.2 Đồ họa 3D với Matlab 53

3.4 Chương trình mô phỏng đồ họa 3D trong dạy học toán 71

3.4.1 Một số phương pháp giải toán Hình Học Không Gian 72

3.4.2 Một số công thức cần nhớ 80

3.4.3 Ứng dụng của Matlab vào các bài toán giải hình học không gian 81

Trang 8

MỞ ĐẦU

Ngày nay, công nghệ thông tin (CNTT) đã phát triển rất mạnh mẽ, công nghệ thay đổi từng ngày, những bài toán, những khó khăn của con người đang dần dần được máy tính hoá Nó được ứng dụng rộng rãi trong mọi lĩnh vực đời sống con người từ việc giải trí, kinh doanh, ứng dụng,… cho đến những vấn đề phức tạp trong khoa học

kỹ thuật đặc biệt là hổ trợ trong nền giáo dục hiện nay

Việc đổi mới phương pháp dạy học cần sử dụng nhiều phương pháp và phương tiện dạy học hiện đại, trong đó ứng dụng CNTT được coi là một yếu tố tích cực trong quá trình đổi mới phương pháp dạy học

Riêng đối với ngành Toán học đã có nhiều phần mềm được ứng dụng trong giảng dạy cũng như trong học tập Chính vì vậy việc sử dụng nhiều loại hình phương tiện trực quan trong dạy học, đáng chú ý là các phần mềm dạy học (3DproS, Cabri, Mathematica, Maple, ) trong hình học không gian (HHKG) nhằm hỗ trợ lẫn nhau, thúc đẩy hoạt động nhận thức tích cực của học sinh, góp phần nâng cao chất lượng dạy

và học môn toán là xu thế tất yếu

Việc ứng dụng công nghệ thông tin hỗ trợ dạy học là một định hướng căn bản về đổi mới thiết bị dạy học hiện nay Xây dựng, ứng dụng các phần mềm dạy học nói chung và các phần mềm ứng dụng trong dạy học Toán nói riêng đòi hỏi người giáo viên có hiểu biết về tin học, làm chủ được các thiết bị phần cứng cũng như các phần mềm thì các phương tiện dạy học mới phát huy được hiệu quả của nó Hiện nay, ở nước ta các phần mềm hỗ trợ dạy học môn toán chưa có nhiều, việc bồi dưỡng năng lực cho giáo viên sử dụng máy vi tính tuy đã được được triển khai rộng rãi nhưng sự hưởng ứng thì chưa cao và hiệu quả đạt được còn khiêm tốn

Trang 9

Trong bối cảnh đó, chúng ta nhất thiết phải cải cách phương pháp dạy học theo hướng vận dụng CNTT và các thiết bị dạy học hiện đại phát huy mạnh mẽ tư duy sáng tạo, kỹ năng thực hành và hứng thú của học sinh để nâng cao chất lượng đào tạo Từ

những vấn đề trên, tôi chọn đề tài nghiên cứu “Tìm hiểu về ảnh 3d và ứng dụng trong khoa học - giáo dục” Đề tài cung cấp các kiến thức về Đồ họa máy tính, Kiến

thức về ngôn ngữ lập trình Matlab Đồng thời trình bày các kỹ thuật đồ họa trong Matlab ứng dụng trong trong giảng dạy, học tập môn toán trung học phổ thông

Luận văn gồm 3 chương với các nội dung sau:

Chương I: Giới thiệu về đồ họa 3d

Chương II: Hệ tọa độ biểu diễn các đối tượng

Chương III: Ứng dụng đồ họa 3d trong dạy học toán

Luận văn đã được kiểm tra kỹ nhưng cũng không tránh khỏi những sai sót, rất mong nhận được sự đóng góp ý kiến của quý thầy cô, bạn bè và các đồng nghiệp để đề tài được hoàn thiện hơn nữa

Trang 10

1

CHƯƠNG I

GIỚI THIỆU VỀ ĐỒ HOẠ 3D

Ngày nay, đồ họa máy tính được ứng dụng rộng rãi trong lĩnh vực công nghệ thông tin Khó mà tìm được một ứng dụng thương mại của công nghệ thông tin không

sử dụng một thành phần nào đó của hệ đồ họa máy tình Đồ họa máy tình (ĐHMT) ở vị trí quan trọng trong lĩnh vực thiết kế và giao tiếp kỹ thuật Nó là cơ sở để chuyển đổi các giải pháp tình toán số sang thể hiện hình ảnh tự nhiên cho thiết kế kỹ thuật hay muốn sáng tỏ một vấn đề phức tạp

Đồ họa máy tính đã phát triển rất nhanh, nó được ứng dụng trong nhiều lĩnh vực khoa học, giáo dục và công nghệ như: 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 không thể thiếu trong đời sống hàng ngày Vì vậy, đồ 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 CNTT

Ngay từ khi xuất hiện, đồ 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, giải trí,

… 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.1 Giới thiệu về đồ họa máy tính

1.1.1 Khái niệm về đồ họa máy tính

Đồ họa máy tình (Computer Graphics) là một trong những chương trình thông dụng nhất, nó đã góp phần quan trọng làm cho giao tiếp giữa con người và máy tình trở nên thân thiện hơn Giao diện kiểu dòng lệnh đã được thay thế hoàn toàn bằng giao diện đồ họa, cùng với công nghệ đa phương tiện (Multimedia) đã đưa ngành Công nghệ thông tin sang một phiên bản mới

Trang 11

2

Đồ họa máy tính là tất cả những gì liên quan đến việc sử dụng máy tính để phát sinh ra hình ảnh Các vấn đề liên quan tới công việc này bao gồm: tạo, lưu trữ, thao tác trên các mô hình (các mô tả hình học của đối tượng) và các ảnh

Theo định nghĩa này thì đồ họa máy tính bao gồm việc 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ị này, các phần mềm được sử dụng cho cả người lập trình ứng dụng tạo ảnh bằng máy tính

Đồ họa máy tình biểu diễn được hính ảnh đối tượng, quan hệ, dữ liệu, vị trí, …

Đồ họa máy tính còn có chức năng mô tả kích thước của đối tượng, phân tích dữ liệu Ngày nay, trong nhiều quá trình thiết kế, cài đặt và xây dựng, thông tin mà hình ảnh mang lại là hầu như không thể thiếu được Kỹ thuật trực quan đã trở nên là một lĩnh vực rất quan trọng từ năm 1980, khi các nhà nghiên cứu khoa học và kỹ sư nhận ra rằng họ không thể xử lý một lượng dữ liệu khổng lồ phát sinh từ các siêu máy tính mà

dữ liệu không được tóm lược và làm nổi bật các xu hướng và hiện tượng qua nhiều loại biểu diễn đồ họa khác nhau

1.1.2 Tổng quan về một hệ đồ họa

Mục tiêu của ĐHMT có chức năng tạo ra và thao tác các hình ảnh đồ họa, nên nó phải có khả năng tạo ra và hiệu chỉnh các hình ảnh bằng các tương tác và đáp ứng Các ứng dụng đồ họa đưa ra các chỉ dẫn thuật ngữ theo yêu cầu đồ họa người dùng Thư viện

đồ họa thực hiện tương tác, làm cầu nối cho giao tiếp giữa người dùng và các thiết bị đơn giản hơn

Chương trình ứng dụng

Thư viện đồ họa Thiết bị đồ họa

Hình 1.1 Hệ thống đồ họa

Trang 12

3

Một trong các yêu cầu chình của một hệ thống đồ họa là các ứng dụng, áp dụng cho nhiều hệ thiết bị, phải được phát triển không phụ thuộc vào phần cứng Để có được điều đó, phải có tiêu chuẩn hóa cho môi trường đồ họa ở mức chức năng bằng việc cung cấp sự độc lập thiết bị và ngôn ngữ lập trình (NNLT)

Sự độc lập với thiết bị cho phép các chương trính ứng dụng đồ họa chạy trên các dạng phần cứng khác nhau Nó được thực hiện thông qua thiết bị nhập xuất logic cung cấp cho phần mềm ứng dụng thông qua thư viện đồ họa và ánh xạ thiết bị cụ thể Cho tới nay, có những tiêu chuẩn đồ họa đã được phát triển trong nhiều năm, bao gồm: GKS (Graphics Kernel System - 1985), được phát triển riêng cho các thiết bị nhập xuất 2 chiều GKS - 3D bổ sung thêm khả năng lập trính 3 chiều PHIGS (Programmer‟s Hierarchical Graphics System - 1984) hay PHIGS+ bao gồm khả năng lập trính không gian, tạo thành thao tác dữ liệu đồ họa phức tạp…

Các tiêu chuẩn đồ họa thực tế là kết quả của việc chấp nhận trong công nghiệp các giao diện đặc trưng, được đề xuất bởi nhiều công ty và không nêu ra trong các tiêu chuẩn chính thức Được nhắc đến trong số này là hệ X-Windows, cung cấp một loạt các chức năng nhập và thao tác đồ họa 2 chiều Sự mở rộng được bắt đầu vào giữa những năm 80 là hệ X-Windows 3 chiều

Để đảm bảo sự linh hoạt, các tiêu chuẩn đồ họa thiết lập cho ứng dụng các thay đổi tối thiểu, cho phép nó định địa chỉ các thiết bị nhập xuất khác nhau Khởi đầu, người lập trình tạo ra một hệ thống tọa độ mô hình, mô tả đối tượng gọi là hệ thống tọa độ thực Tiếp theo, là hệ tọa độ tiêu chuẩn và hệ tọa độ thiết bị Chương trình ứng dụng sẽ giao tiếp với hệ tọa độ chuẩn theo cách thức phù hợp, không quan tâm đến thiết bị xuất được dùng Do đó, tạo ra sự độc lập với thiết bị trong việc tạo ra hình ảnh của đối tượng

1.1.2.1 Phần cứng

Phần cứng đồ họa bao gồm các thành phần:

Trang 13

4

- Thiết bị thu nhận: bàn phím, chuột, máy quét, camera, …

- Thiết bị hiển thị: các loại màn hình CRT, LCD, …

- Thiết bị tương tác: găng tay, kính 3D, …

1.1.3 Các đối tƣợng của đồ họa cơ sở

1.1.3.1 Hệ tọa độ thế giới thực và hệ tọa độ thiết bị

Trong lĩnh vực kỹ thuật đồ họa, chúng ta phải hiểu được rằng thực chất của đồ họa là làm thế nào để có thể mô tả và biến đổi được các đối tượng trong thế giới thực trên máy tình Bởi ví, các đối tượng trong thế giới thực được mô tả bằng tọa độ thực Trong khi đó, hệ tọa độ thiết bị lại sử dụng hệ tọa độ nguyên để hiển thị các hính ảnh Đây chình là vấn đề cơ bản cần giải quyết Ngoài ra, còn có một khó khăn khác là với các thiết bị khác nhau thí có các định nghĩa khác nhau Do đó, cần có một phương pháp chuyển đổi tương ứng giữa các hệ tọa độ và đối tượng phải được định nghĩa bởi các thành phần đơn giản như thế nào để có thể mô tả gần đúng với hình ảnh thực bên ngoài

Trang 14

5

a Hệ tọa độ thế giới thực (WCS: World Coordinate System)

WCS hay hệ tọa độ thực là hệ tọa độ (TĐ) được dùng để mô tả các đối tượng trong thế giới thực Một trong những hệ tọa độ thực thường được dùng để mô tả các đối tượng trong thế giới thực là hệ tọa độ Descartes Bất kì điểm nào trong mặt phẳng được mô tả bằng cặp tọa độ (x, y), trong đó x, y R Gốc tọa độ là điểm O có tọa độ (0, 0), Ox, Oy lần lượt là trục hoành và trục tung và x, y là hoành độ và tung độ

b Hệ tọa độ thiết bị (DCS: Device Coordinate System)

Hệ toạ độ thiết bị là hệ toạ độ được dùng cho một thiết bị xuất cụ thể nào đó như máy in, màn hình, Trong hệ TĐ thiết bị, các điểm được biểu diễn bởi cặp toạ độ (x, y) Tuy nhiên, khác với hệ tọa độ thực là x, y  N Điểm trong toạ độ thực được định nghĩa liên tục, còn trong toạ độ thiết bị thì rời rạc Ngoài ra, các tọa độ (x, y) của hệ tọa

độ thiết bị chỉ biểu diễn được trong một giới hạn nào đó của N

1.1.3.2 Điểm và đoạn thẳng

a Điểm

Điểm là thành phần cơ sở được định nghĩa trong một hệ tọa độ, đối với hệ tọa độ

2 chiều (x, y) mỗi điểm được xác định bởi hoành độ và tung độ, Ngoài thông tin tọa độ,

điểm còn có thông tin màu sắc

b Đoạn thẳng

- Biểu diễn tường minh: y = f(x)

Một đoạn thẳng được xác định nếu biết 2 điểm thuộc nó Phương trình đoạn thẳng

đi qua 2 điểm P(x1, y1) và Q(x2, y2) như sau:

1 2

1 2 1

1

x x

y y x

2

1

y y

x x x x

y y

Trang 15

   (tức là khi x thay đổi thì y thay đổi theo)

- Biểu diễn không tường minh:axby c 0

1.1.4 Một số ứng dụng của đồ họa máy tính

Ngày nay, đồ họa máy tính được sử dụng trong rất 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í, … Số lượng các chương trình đồ họa ứng dụng thật khổng lồ và phát triển liên tục, sau đây là một số ứng dụng tiêu biểu:

Q(x2,y2)

P(x1,y1)

Hình 1.2: Vẽ đoạn thẳng PQ

Trang 16

Một 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ả cuối cùng rất gần với thế giới thực

1.1.4.2 Biểu diễn thông tin

Đây là các ứng dụng sử dụng đồ họa máy tính để phát sinh các biểu đồ, đồ thị,… dùng minh họa mối quan hệ giữa nhiều đối tượng với nhau Các ứng dụng này thường được dùng để tóm lược các dữ liệu về tài chính, thống kê, kinh tế, khoa học, toán học,

… giúp cho việc nghiên cứu, quản lý, … một cách có hiệu quả

Trang 17

8

Ngoài ra đồ họa máy tính còn giúp 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, …

1.1.4.4 Giáo dục và đào tạo

Hiện nay các chương trình mô phỏng cấu trúc của các vật thể, tiến trình của các phản ứng hóa học, hoạt động của các gói tin trên mạng máy tính, … được dùng rất nhiều trong việc hỗ trợ giảng dạy

Trong đào tạo, các ứng dụng mô phỏng được dùng để kiểm tra trình độ người lái, huấn luyện phi công, điều khiển giao thông, …

1.1.4.5 Giao tiếp giữa máy tính và người dùng

Mọi ứng dụng đều phải có giao diện giao tiếp với người dùng Giao diện đồ họa thực sự là một cuộc cách mạng mang lại sự thuận tiện và thoải mái cho người dùng ứng dụng Các ứng dụng dựa trên hệ điều hành MicroSoft Windows là một minh họa rất trực quan của giao diện đồ họa Các chức năng của các ứng dụng này được thiết kế cho người dùng làm việc thông qua các biểu tượng mô tả chức năng đó

Để chọn các chức năng, người dùng sử dụng chuột trỏ đến và nhấn vào các biểu tượng tương ứng Điểm thuận lợi chính khi dùng biểu tượng là kích thước không gian

mà nó chiếm ít hơn nhiều so với dùng văn bản để mô tả cho cùng một chức năng, ngoài

ra việc nắm bắt các chắc năng qua các biểu tượng sẽ dễ dàng hơn rất nhiều khi người dùng gặp trở ngại về mặt ngôn ngữ

1.2 Xây dựng các khối hình 3D

1.2.1 Các mô hình biểu diễn khối 3D

Để biểu diễn vật thể trong không gian 3 chiều ta có những cách biểu diễn như sau:

Trang 18

9

1.2.1.1 Polygon Meshes

Một vật thể 3D được biểu diễn theo mô hình Polygon Meshes (PM) là tập cạnh, đỉnh và các Polygon có mỗi cạnh được dùng chung với ít nhất một Polygon khác Một cạnh được nối với hai đỉnh Mỗi cạnh có thể được dùng chung bởi hai Polygon kề nhau Một đỉnh được dùng chung bởi ít nhất là hai cạnh Mỗi Polygon có thể biểu diễn theo hai cách khác nhau Và mỗi cách có thuận lợi, khó khăn riêng của nó

a Biểu diễn theo danh sách các đỉnh

Mỗi Polygon là danh sách các đỉnh, các đỉnh được lưu trữ theo một trật tự mà ta có thể đi “vòng” qua các đỉnh của Polygon Các cạnh là những cạnh nối giữa các đỉnh liền

kề nhau trong danh sách các đỉnh, và các cạnh giữa đỉnh đầu và đỉnh cuối trong danh sách Việc lưu trữ này tiết kiệm được vùng nhớ Mỗi đỉnh trong Polygon Meshes chỉ lưu trữ một lần duy nhất Và mỗi Polygon được biểu diễn bởi danh sách các chỉ số của các đỉnh Khi vẽ Polygon dạng outline cần phải tính ra các cạnh của Polygon dựa trên danh sách các đỉnh Vì thế mỗi cạnh dùng chung sẽ được vẽ hai lần dẫn đến làm chậm quá trình vẽ Mặt khác chúng ta gặp khó khăn trong việc tìm các Polygon dùng chung một cạnh để loại trừ việc vẽ hai lần cạnh này

Vấn đề này sẽ được khắc phục bởi cách biểu diễn Polygon bằng danh sách các cạnh thay vì danh sách các đỉnh

Trang 19

10

b Biểu diễn theo danh sách các cạnh

Mỗi Polygon là con trỏ chỉ đến danh sách các cạnh (không phải là danh sách các đỉnh) Mỗi cạnh chỉ lưu trữ một lần trong danh sách cạnh Mỗi cạnh trong danh sách cạnh là con trỏ chỉ đến hai đỉnh trong danh sách các đỉnh và một hoặc hai Polygon chứa cạnh đó Nếu một cạnh chỉ thuộc duy nhất một Polygon thì hoặc P1 hoặc P2 sẽ là nul Các biểu diễn này thuận lợi hơn hai cách trên Chúng ta biết được cạnh nào dung chung bởi hai Polygon nào, hoặc là cạnh chỉ thuộc một Polygon thôi Đặc biệt khi vẽ outline vật, ta chỉ cần vẽ các cạnh trong danh sách các cạnh Điều này làm cho việc vẽ nhanh hơn, thay vì phải vẽ tất cả các Polygon

1.2.2 Tạo khối 3D

Mục tiêu của phần này là phân tích các công cụ để tạo các khối đa diện 3D sao cho các khối được tạo ra đa dạng và thực thi không quá phức tạp Có nhiều hướng để giải quyết vấn đề, có thể tóm lược như sau:

1.2.2.1 Sweep Solid

Tạo đường viền trên mặt phẳng 2D sau đó quay đường viền quanh một trục nào

đó ta sẽ được khối 3D theo mong muốn Có hai loại Sweep

Trang 20

11

a Translational sweep

Ta dịch chuyển đường viền theo dọc một đoạn chiều dài nào đó, theo một hướng nào đó ta sẽ tạo được khối 3D Ưu điểm của phép quét này là tạo nên những vật 3D có hình dạng “thanh dài”

b Rotational Sweep

Khối 3D được tạo ra bằng cách quay đường viền quanh một trục, với một góc quay nào đó Ưu điểm của phương pháp này là được những khối tròn đa dạng Tuy nhiên, các đỉnh được tạo ra trong quá trình quay đường viền phụ thuộc vào số góc quay mỗi lần Vì vậy, khi tạo một vật thể nếu ta quay một góc 3600 thì ta có khối “đặc”, nếu quay một góc nhỏ hơn 3600 thì ta có được như là một phần “lớp vỏ”

Trang 21

12

1.2.2.2.Sửa đổi khối từ khối được tạo ra theo hai phương pháp trên

Một số khối không có hình dạng theo chuẩn nào cả, vì thế ta không thể tính toán một cách cụ thể theo công thức toán học Một ý tưởng, ta chọn một khối được tạo ra từ hai phương pháp (PP) trên mà nó gần giống với khối ta mong muốn tạo, và có thể thay đổi tọa độ từng đỉnh của khối đến các vị trí khác nhau

Tá có thể tạo được khối gần giống nhau như mong muốn Tiếp theo ta chỉ cần ghi lại tọa độ của các đỉnh và cấu tạo các mặt nào đó, trên một mặt nào đó để làm cho hình khối của ta đa dạng thêm PP này có ưu điểm: không phức tạp lắm, số lượng đỉnh không phát sinh thêm ngoại trừ ta thêm vào theo nhu cầu

1.2.2.3 Các khối tạo từ công thức toán học

a Công thức tính

Các khối này được tạo ra bằng những cách tính toán cụ thể tọa độ đỉnh của khối, từng mặt sẽ bao gồm đỉnh nào dựa trên các thông số có thể thay đổi được Từ những thông số đó và dựa vào các công thức cụ thể của từng khối ta sẽ tính ra được tọa độ của một số điểm và sau đó nối các điểm trên cùng đường kinh tuyến và vĩ tuyến lại với nhau Mỗi khối khác nhau thì ta sẽ áp dụng công thức khác nhau, mỗi loại khối hình thì ta

sẽ tính được tọa độ các đỉnh tùy thuộc vào các thông số cụ thể của từng khối Cách tính như sau:

b Công thức của các khối hình cơ bản:

XR sincos

Trong đó: R là bán kính của khối cầu: π/2 ≤ ≤ π/2; π ≤ ≤ π

Trang 22

13

- Hình Ellipesoid:

2: *sin( )*cos( )

1: *cos( )

3: *sin( )*sin( )

Trang 23

14

Trong đó: - R1 là bán kính của đường tròn vĩ tuyến nhỏ nhất

- R2 là khoảng cách từ tâm đến đường tròn vĩ tuyến

1.2.2.4 Tổ chức điểm trong không gian 3D và giải thuật

Ta sử dụng hai bản ghi Position và Rposition để lưu trữ tọa độ đỉnh các khối: Type

Trang 24

15

lưu trữ các giá trị nguyên của các tọa độ đỉnh này, nó xác định vị trí tương đối của các đỉnh Ta sử dụng mảng OriginPos kiểu Position để chứa các vị trí tuyệt đối được khởi gán ngay từ lúc đầu và mảng RoundedPos chứa các vị trí tương đối đã được làm tròn thông qua hàm Round() Ta dùng thủ tục Tform1.Khoitao(so:integer) để tính toán tọa

độ đỉnh của các khối hình, các tọa độ này sẽ được lưu trử trong mảng OrginPos

Trang 25

4: for i:=0 to SoVT - 1 do //Non

Trang 26

Giả sử một điểm P(x,y,z,1) được biến đổi tỷ lệ thành P’(x’,y’,z’,1) khi đó, ta sẽ có

ma trận biến hình như sau:

1000

00

0

000

000

z y x

S S

Trang 27

0001

z y

x D D D

0100

00cossin

00sincos

0cos1

sin

0000

0sin0

0

0cossin

0

0sincos

0

001

Trang 28

19

1.3.4 Phép biến dạng (co dãn):

Tạo ra sự biến dạng cho đối tượng bởi công việc thay giá trị của một hoặc nhiều tọa độ bằng các hệ số tỉ lệ của cột thứ ba Nghĩa là điều khiểu sự biến dạng theo mặt phẳng tạo bởi hai trục tọa độ được điều khiển bởi trục thứ ba Ta áp dụng ma trận biến hình sau:

1000

01

01

01

hzy hzx

hyz hyx

hxz hxy Msh

Với hxy là lượng biến dạng x dọc theo y, hyx là lượng biến dạng y dọc theo trục x

- Ma trận biến dạng dọc theo trục x:

1000

0100

0010

01

][

hxz hxy x

Msh

- Ma trận biến dạng dọc theo trục y:

1000

0100

01

0001]

[Msh yhyx hyz

- Ma trận biến dạng dọc theo trục z:

1000

01

0010

0001][

hzy hzx x Msh

1.3.5 Giải thuật

Như chúng ta đã biết, để có thể tạo ra được một mô hình nhân vật từ các khối hình

cơ bản thì đây là một điều rất khó Do đó, nhằm giải quyết vấn đề này thì thay vì phải tạo

Trang 29

20

ra cả nhân vật ta sẽ chia nhân vật đó thành nhiều “bộ phận” sau đó ta sẽ lần lượt tạo từng

bộ phận một và ghép các bộ phận đó lại với nhau để tạo ra nhân vật như mong muốn Như vậy, một nhân vật sẽ có nhiều bộ phận và mỗi bộ phận sẽ có nhiều khối hình cơ bản Trong đồ án này ta sử dụng mảng hai chiều Bophan[i][j] để lưu trữ dữ liệu của khối hình j trong bộ phận thứ i

Trong bảng quá trình tạo từng bộ phận ta sẽ cần phải biến đổi các khối hình cơ bản bằng hai phép biến đổi là tịnh tiến, phép quay và phép co dãn Ta đã biến một nhân vật nói chung hay một bộ phận nói riêng được tạo ra từ rất nhiều khối hình cơ bản Do

đó, để tạo ra được hình ảnh như ý muốn thì ta phải biến đổi các khối hình cơ bản Chương trình này cho phép ta có thể chọn một khối hình bất kỳ nào đó đã được tạo ra

để có thể biến đổi chúng cho phù hợp Khi ta muốn thay đổi khối hình nào đó thì ta phải chọn giá trị “bộ phận” trong ComBP và giá trị “khối hình” trong ComKH sau đó thực hiện các phép biến đổi Ngoài ra chương trình còn cho phép ta có thể dịch chuyển cũng như quay nhiều khối hình (trong cùng một bộ phận) bằng cách chọn RadioButton1 (all) và sau đó thực hiện các phép tịnh tiến, quay

1.3.5.1 Tịnh tiến

Khi ta tịnh tiến khối hình cơ bản nào dó tương ứng với giá trị “bộ phận” ở

ComBP và giá trị “khối hình” ở ComKH thì khi đó các giá trị dx, dy, dz sẽ có thể thay

đổi tùy thuộc việc ta chọn hướng tịnh tiến Khi phép tịnh tiến được thực hiện thì các

thành phần dx, dy, dz trong bảng bộ phận bophan[bphan][khối hình] sẽ thay đổi tương

ứng với phép tịnh tiến Sau đó ta sẽ xóa hình ảnh củ bằng thủ tục New và lần lượt là các khối hình cơ bản (sau khi đã biến đổi) dựa trên các thành phần của bảng Bophan

Giải thuật 1.2

Procedure Tform1.New;

Begin

Trang 31

22

dy:=Bophan[StrToInt(ComBP.text)][StrToInt(ComKH.text)].dy-20; dz:=Bophan[StrToInt(ComBP.text)][StrToInt(ComKH.text)].dz; ChangeLayer(Bophan[StrToInt(ComBP.text)],1);

end;

else if All.Checked=tru then

for i:=1 to TTKH[StrToInt(ComBP.text)] do

- Thủ tục ChangerLayer(và sbd:KH;kieu:integer) với kieu=1 thì nó có tác dụng sẽ

cập nhật lại các thành phần dx, dy, dz trong bảng Bophan của “bộ phận” tương ứng với

giá trị của ComBP và “khối hình” tương ứng với giá trị trong ComKH

Trang 32

23

1.3.5.2 Co dãn

Trong chương trình (CT) này phép co dãn có tác dụng phóng to hay thu nhỏ các khối hình (KH) cơ bản Giả sử ta muốn thay đổi một khối hình nào đó, khi đó việc đầu tiên là ta phải xác định xem KH cơ bản đó tương ứng với giá trị nào của “bộ phận”,

“khối hình” Sau đó ta sẽ chọn giá trị “bộ phận” ở trong ComBP, “khối hình” trong

ComKH và ta sẽ thay đổi giá trị của r1, r2, r3 tùy thuộc vào từng KH và việc phóng to hay thu nhỏ

Để giải quyết được vấn đề này chúng ta thực hiện như sau: khi thực hiện phép co

dãn thì tùy thuộc vào từng KH các giá trị r1, r2, r3 có thể thay đổi, ta sẽ lưu lại giá trị của

các thành phần r1, r2, r3 trong Bophan[bphan][khoihinh] sẽ được update lại bằng thủ tục ChangeLayer(sbd,2) Cuối cùng ta sẽ xóa hình ảnh củ bằng thủ tục New và vẽ lại lần lượt lại các khối hình cơ bản (sau khi đã biến đổi) dựa trên các thành phần củ mảng BP

Để có thể biến đổi được các giá trị r1, r2, r3 ta sử dụng công cụ SpinEdit Ba thủ tục Ra1Change(sender:Tobject), Ra2Change(sender:TObject) sẽ thực hiện việc co dãn trên

Trang 33

24

1.3.5.3 Quay hình

Cũng tương tự như các phép biến hình trên, trong đề tài này ta thực hiện ba phép

quay hình cơ bản là quay quanh mình nó theo các trục OX, OY, OZ

Để giải quyết được vấn đề này chúng ta thực hiện như sau: Khi thực hiện phép

quay hình khi đó các thành phàn gx, gy, gz trong Bophan[bpha][khoihinh] sẽ được

update tại bằng thủ tục ChangeLayer(Bophan[StrToInt(ComBP.text)] Cuối cùng ta sẽ xóa hình ảnh cũ bằng thủ tục New và vẽ lại lần lượt các khối hình cơ bản (sau khi đã biến đổi) dựa trên các thành phần của mảng Bophan Ta sử dụng ba hàm

QuayZClick(sender:Tobject), để thực hiện các phép quay các khối hình cơ bản quanh

nó theo các trục OX, OY, OZ

//ghi lai nhung thay doi cua bo phan

End;

Else if All.Checked=true then

For i:=1 to TTKH[StrToInt(ComBP.text)] do

Trang 34

25

Begin

gx:=bophan[StrToInt(ComBP.text)[i].gx+5; gy:=bophan[StrToInt(ComBP.text)[i].gy;

gz:=bophan[StrToInt(ComBP.text)[i].gz;

ComKH.text:=IntToStr(i);

ChangeLayer(Bophan[StrToInt(ComBP.text)],3); End;

Trang 35

26

CHƯƠNG II

HỆ TỌA ĐỘ BIỂU DIỄN CÁC ĐỐI TƯỢNG

Các đối tượng trong thế giới thực phần lớn là các đối tượng ba chiều, nên việc thể hiện đối tượng ba chiều này sao cho thể hiện được các tính chất phối cảnh, độ sáng tối,

… là cần thiết Các vấn đề này không ít nhiều liên quan đến các hệ trục tọa độ biểu diễn các đối tượng

2.1 Một số hệ tọa độ

2.1.1 Hệ họa độ cục bộ (Local coordinates)

Là hệ tọa độ (HTĐ) gắn liền với khối Khi vật thể di chuyển trong HTĐ thực, thì tọa độ các đỉnh không thay đổi so với hệ tọa độ local

Mọi đối tượng đồ họa trong không gian ba chiều được định nghĩa như là tập hợp các đỉnh có mối liên hệ gốc tọa độ nội bộ (0, 0, 0), như vậy mô hình một đối tượng khi khởi tạo đều tập trung về gốc tọa độ (0, 0, 0) Tuy nhiên chúng ta cũng có thể di chuyển đối tượng nhưng không làm thay đổi tọa độ các đỉnh (so với gốc tọa độ nội bộ),

mà chỉ cập nhật vị trí của gốc tọa độ nội bộ trong thế giới thực

2.1.2 Hệ tọa dộ thế giới thực (World coordinates)

Là hệ tọa độ được dùng để mô tả đối tượng thế giới thực Khi vật thể di chuyển trong hệ tọa độ thực thì các đỉnh sẽ thay đổi theo Các tọa độ thế giới thực cho phép biểu diễn bất kỳ thứ nguyên nào (cm, mm, inche, …) và có thể nhỏ tùy ý

Hệ thống tọa độ thế giới giống như vũ trụ, có tâm là (0, 0, 0) và mở rộng ra các hướng vô hạn, tuy nhiên để biểu diễn được trong máy tính kích thước hệ tọa độ được

Trang 36

giới hạn (Do hạn chế về kích thước bộ nhớ), hệ thống chỉ có thể là 32.000 x 32.000 pixel

và bên trong giới hạn vũ trụ này mọi đối tượng sẽ được chứa và điều khiển trong đó

2.1.3 Hệ tọa độ quan sát (Camera coordinates)

Là hệ tọa độ của người quan sát Vật trong tọa độ thực sẽ được ánh xạ vào tọa độ camera, và chiếu lên mặt phẳng chiếu, mặt phẳng vuông góc với đường nối hai gốc tọa

độ của hệ tọa độ thực và hệ tọa độ camera

Một đối tượng được xác đình trên hệ họa độ camera quan sát, đó thực sự là ảnh hưởng mà người quan sát thấy được Đối với hệ thống tọa độ camera quan sát ta cần quan tâm đến hai yếu tố:

- Tâm quan sát (View-point): là một điểm trong hệ thống tọa độ thế giới thực, tại

Trang 37

- OO‟: xác định vật thể đang quan sát xa hay gần

- De: khoảng cách giữa O‟ và mặt phẳng chiếu

- Hai góc  và φ nếu thay đổi sẽ thay đổi góc quan sát vật thể

Hình 2.4: Phép chiếu ảnh 3D lên mặt phẳng quan sát

Trang 38

29

- (x, y, z) là tọa độ của vật thể trong hệ trục thực

- (x0, y0, z0) là tọa độ của vật thể trong hệ trục quan sát

- (x c , y c) là tọa độ điểm chiếu tương ứng

Một vật được biến đổi tu thế giới thực vào tọa độ camera như sau:

 ( )

z  kcoscosysincoszsin  Rh

Tọa độ điểm (x0, y0, z0) sẽ được chiếu theo công thức:

Để định vị một điểm trong không gian ba chiều ta có thể chọn nhiều tọa độ Thứ

nhất: là hệ trực tiếp, còn gọi là bàn tay phải vì ngón trỏ theo hướng trục Z Thứ hai: là

hệ gián tiếp (hai bàn tay trái) có ngón cái của bàn tay theo quy luật trên Nói chung nếu

ta xem mặt phẳng XY thì trục Z trong hệ trục tọa độ trực tiếp hướng vào mắt của người

nhìn trong khi ở hệ trục gián tiếp nó lại chỉ theo hướng chiều ngược lại

Trang 39

30

Để định vị một điểm P trong không gian, ta luôn luôn dùng hệ trực tiếp và trong

hệ trục này chúng ta làm việc với hai hệ tọa độ ở hình sau:

2.2 Các phép chiếu của không gian trên mặt phẳng

Hình 2.8: Định vị điểm P với hệ tọa độ 2

Hình 2.5: Định vị theo tọa độ gián tiếp

Hình 2.5: Định vị theo tọa độ gián tiếp

Hình 2.6: Định vị theo tọa độ trực tiếp

Trang 40

31

Phép chiếu phối cảnh không giữ nguyên dạng vật thê Vật thể được biểu hiện sự hội tụ của những đường song song với mặt phẳng chiếu thì qua phép phối cảnh vẫn song song với nhau Còn tất cả các đường song song nhưng không có tính chất trên đều hội tụ qua phép phối cảnh đến một điểm

Tất cả các phép phối cảnh đều được quy định bởi năm bước sau:

- Hướng của mặt phẳng chiếu so với vật thể

- Độ cao của tâm chiếu (mắt) so với vật thể

- Khoảng cách từ tâm chiếu đến vật thể

Ngày đăng: 15/07/2017, 23:28

HÌNH ẢNH LIÊN QUAN

Hình 1.3: Danh sách các đỉnh - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 1.3 Danh sách các đỉnh (Trang 18)
Hình 2.2: Hướng mắt quan sát  Hình 2.1: Tâm quan sát - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.2 Hướng mắt quan sát Hình 2.1: Tâm quan sát (Trang 36)
Hình 2.3: Tọa độ và góc - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.3 Tọa độ và góc (Trang 37)
Hình 2.4: Phép chiếu ảnh 3D lên mặt phẳng quan sát - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.4 Phép chiếu ảnh 3D lên mặt phẳng quan sát (Trang 37)
Hình 2.5: Định vị theo tọa độ gián tiếp - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.5 Định vị theo tọa độ gián tiếp (Trang 39)
Hình 2.7: Định vị điểm P với hệ tọa độ 1 - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.7 Định vị điểm P với hệ tọa độ 1 (Trang 39)
Hình 2.9: Phép chiếu phối cảnh 1 - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.9 Phép chiếu phối cảnh 1 (Trang 40)
Hình 2.12 Phép chiếu song song - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.12 Phép chiếu song song (Trang 41)
Hình 2.13: Phép biến đổi cơ bản - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.13 Phép biến đổi cơ bản (Trang 43)
Hình 2.15:  Quay hệ (X 1 ,Y 1 ,Z 1 ) một góc -  ’ quanh trục Z 1 - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.15 Quay hệ (X 1 ,Y 1 ,Z 1 ) một góc -  ’ quanh trục Z 1 (Trang 44)
Hình 2.16:  Quay hệ (X 1 ,Y 1 ,Z 1 ) góc 90 0  +    quanh trục X 2 - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.16 Quay hệ (X 1 ,Y 1 ,Z 1 ) góc 90 0 +  quanh trục X 2 (Trang 45)
Hình 2.17: Biến đổi hệ trục tọa độ trực tiếp thành hệ gián tiếp - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.17 Biến đổi hệ trục tọa độ trực tiếp thành hệ gián tiếp (Trang 46)
Hình 2.18: Chiếu phối cảnh - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.18 Chiếu phối cảnh (Trang 47)
Hình 2.19: Phép chiếu song song - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.19 Phép chiếu song song (Trang 48)
Hình 2.20: D là khoảng cách từ ảnh đến - Tìm hiểu về ảnh 3d và ứng dụng trong khoa học giáo dục
Hình 2.20 D là khoảng cách từ ảnh đến (Trang 48)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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