Tài liệu tham khảo công nghệ thông tin Nghiên cứu phát triển hệ thống thử nghiệm cung cấp quang cảnh đường phố hà nội
Trang 1KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
o
o HÀ NỘI - 2009
Trang 2- Đinh Nhật Minh
NGHIÊN CỨU PHÁT TRIỂN HỆ THỐNG THỬ NGHIỆM CUNG CẤP QUANG CẢNH
ĐƯỜNG PHỐ HÀ NỘI
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS Nguyễn Ngọc Hóa
ooo
o HÀ NỘI - 2009
Trang 3Em xin gửi lời cảm ơn chân thành và biết ơn sâu sắc tới Tiến sĩ Nguyễn Ngọc Hóa(Bộ môn Công Nghệ Thông Tin - Trường Đại học Công Nghệ) đã chỉ bảo và hướng dẫntận tình cho em trong suốt quá trình thực hiện khoá luận này
Em xin gửi lời cảm ơn và biết ơn sâu sắc tới các thầy, cô đã dạy dỗ em trong suốt 4năm học tập tại trường Đại học Công Nghệ Những kiến thức các thầy, cô dạy là vô cùngquý báu và sẽ là hành trang để em vững bước vào đời
Em cũng xin chân thành cảm ơn các anh, chị trong phòng Công nghệ phần mềm –Trung tâm Công nghệ phần mềm – Tập đoàn Điện lực Việt Nam đã tạo điều kiện, giúp đỡ
về mặt kỹ thuật và động viên tinh thần cho em trong quá trình làm khoá luận
Tôi xin gửi lời cảm ơn tới các bạn sinh viên trong lớp K50HTTT hiện nay và cácthành viên lớp K50CA trước đây, cùng bạn bè đã ủng hộ và khuyến khích tôi trong quátrình nghiên cứu và làm khoá luận này
Và cuối cùng, con xin gửi lời cảm ơn và lòng biết ơn tới bố, mẹ, anh chị, cảm ơnnhững người thân yêu của tôi, đã nuôi nấng, dạy dỗ và luôn động viên, làm chỗ dựa tinhthần cho tôi trong cuộc sống cũng như trong học tập và làm việc
Xin chân thành cảm ơn!
Hà Nội, ngày 25 tháng 05 năm 2006
Sinh viên
Đinh Nhật Minh
Trang 4Tên đề tài của khóa luận là : Nghiên cứu phát triển hệ thống thử nghiệm cung cấpquang cảnh đường phố Hà Nội.
Cung cấp quang cảnh đường phố Hà Nội có nghĩa là cho phép người sử dụng quansát được các hướng xung quanh tại một điểm, tạo cho người sử dụng cảm giác đang đứngtại vị trí đó, đồng thời cho phép họ di chuyển tới các vị trí khác
Nội dung khóa luận này sẽ giới thiệu về các dịch vụ nổi tiếng trên thế giới tronglĩnh vực tương tự, nêu lên phương pháp và công cụ mà họ sử dụng, từ đó nêu lên tính cầnthiết cũng như khả thi của đề tài
Khóa luận sẽ nêu lên bài toán cần thực hiện, phân tích bài toán thành các modulenhỏ, đồng thời đưa ra cơ sở lý thuyết, phương hướng thực hiện cho từng module
Cuối cùng sẽ là chương trình demo sản phẩm, các hạn chế và phương hướng pháttriển
Trang 5Danh sách các hình vẽ được sử dụng trong khóa luận 3
LỜI MỞ ĐẦU 4
Chương 1 Tìm hiểu về các dịch vụ cung cấp quang cảnh đường phố 5
1.1 Google Maps Street View 5
1.2 MapJack 7
Chương 2 Một số lý thuyết về đồ họa 3D 9
2.1 Giới thiệu 9
2.2 Một số kiến thức cơ bản 9
2.3 Lý thuyết về phép chiếu 13
2.3.1 Phép chiếu song song 13
2.3.2 Phép chiếu phối cảnh 17
2.4 3D trong Flash 21
Chương 3 Bài toán 23
3.1 Mục tiêu của bài toán 23
3.2 Phân tích bài toán 23
3.3 Các lý thuyết liên quan 23
3.3.1 Adobe Flash 23
3.3.2 Flex builder 3.0 26
3.3.3 Action Script 28
3.3.4 Open Sources 28
3.4 Giải quyết bài toán 28
3.4.1 Xây dựng chương trình cho phép người sử dụng nhìn xung quanh 360° 29
3.4.2 Xử lý việc cho phép người sử dụng dịch chuyển tới các vị trí khác nhau 31 3.4.3 Cách lưu trữ Cơ sơ dữ liệu 35
3.5 Thực nghiệm 36
3.5.1 Môi trường thực nghiệm 36
3.5.2 Công cụ thực nghiệm 37
3.5.3 Quá trình thực nghiệm 37
3.6 Kết quả thực nghiệm 40
Trang 64.1 Đóng góp của mình 43 4.2 Hướng phát triển của đề tài 43
Tài liệu tham khảo 45
Trang 7Danh sách các hình vẽ được sử dụng trong khóa luận
Hình 1 Hình ảnh quang cảnh đường phố của Google Maps Street View 6
Hình 2 Hình ảnh quang cảnh đường phố của MapJack 7
Hình 3 Giao diện công cụ của MapJack 8
Hình 4 Ba phép chiếu trực giao của một đối tượng 14
Hình 5 Phép chiếu cùng kích thước của một đối tượng lên bề mặt quan sát 15
Hình 6 Phép chiếu vuông góc lên mặt phẳng chiếu 16
Hình 7 Phép chiếu phối cảnh của trên mặt phẳng chiếu .18
Hình 8 Các quang cảnh phối cảnh của một hình lập phương 20
Hình 9 Adobe Flash CS3 24
Hình 10 Adobe Flex Builder 3.0 26
Hình 11 Action Script 3.0 Logo 28
Hình 12 Ảnh 360° 29
Hình 13 Ảnh mặt cầu 31
Hình 13 Cách định hướng của Google Maps Street View 32
Hình 14 Ảnh mờ của ảnh mặt cầu 34
Hình 15 Ảnh mờ của 6 mặt khối lập phương 34
Hình 16 Ảnh 6 mặt tại một điểm 41
Trang 8Hình 17 Kết quả thu được 41
LỜI MỞ ĐẦU
Du lịch là nhu cầu khá phổ biến hiện nay tại nhiều quốc gia, trong đó có Việt Nam,nhưng thật khó khăn cho khách hàng trong việc lựa chọn địa điểm du lịch, nếu chỉ thôngqua tranh ảnh, các tờ rơi, quảng cáo thì chắc chắn sẽ không được chính xác Còn gì tiệnlợi hơn khi bạn có thể “xem” “tận mắt” những địa điểm mà bạn đang đắn đo, để xemmình thích nơi nào hơn khi mà bạn chẳng phải đến tận nơi, vẫn ngồi nhà, nhâm nhi cốccafé hay đang tán gẫu cùng bạn bè về chuyến du lịch sắp tới Tất cả những gì bạn cần làm
là một trình duyệt web và kết nối internet
Như chúng ta đã biết, Google Maps Street View là một dịch vụ khá nổi tiếng trênthế giới hiện nay Dịch vụ này cho phép người sử dụng “đi lại” trên đường phố tại một nơinào đó “Đi lại” ở đây được hiểu theo nghĩa bạn có thể thấy được phong cảnh, đường phốtại nơi bạn chọn, những cảnh này được chụp lại nên tính trung thực rất cao, bạn hoàn toàn
có thể yên tâm không phải lo nghĩ rằng phong cảnh nơi sắp đến có làm bạn thất vọng haykhông
Tuy nhiên, do hạn chế về mặt quy mô, nên Google Maps Street View mới chỉ thựchiện được trên một số thành phố tại một số quốc gia Còn tại Việt Nam thì sao? NếuGoogle để mắt tới Việt Nam, thì may chăng chỉ có một số thành phố lớn được đưa vàoCSDL của Google Maps Vậy tại sao chúng ta không tự xây dựng một dịch vụ tương tựnhư vậy trên chính đất nước của mình?
Với thực trạng đó, mục tiêu chính của khoá luận tốt nghiệp của tôi được tập trungxoay quanh tìm câu trả lời cho câu hỏi trên Trong quá trình nghiên cứu, tìm hiểu và thựchiện khóa luận này, những kết quả bước đầu thu được chứng minh được việc cung cấpdịch vụ quang cảnh đường phố là hoàn toàn có thể thực hiện được với những công nghệ
và kỹ thuật hiện nay của Việt Nam
Trang 10Chương 1 Tìm hiểu về các dịch vụ cung cấp quang cảnh
đường phố
Như chúng ta đã biết, Google Maps Street View và MapJack là 2 dịch vụ khá nổitiếng trong lĩnh vực này, để có thể nắm rõ hơn về mục tiêu của khóa luận, trước hết chúng
ta hày cùng tìm hiểu đôi nét về 2 dịch vụ này
1.1 Google Maps Street View
http://maps.Google.com/help/maps/streetview/
Google Maps (thời gian trước còn gọi là Google Local) là một dịch vụ ứng dụng
và công nghệ bản đồ trực tuyến trên web miễn phí được cung cấp bởi Google và hỗ trợnhiều dịch vụ dựa vào bản đồ như Google Ride Finder và một có thể dùng để nhúng vàocác trang web của bên thứ ba thông qua Google Maps API (Application ProgramingInterface) Nó cho phép thấy bản đồ đường xá, đường đi cho xe đạp, cho người đi bộ(những đường đi ngắn hơn 6.2 dặm) và xe hơi, và những địa điểm kinh doanh trong khuvực cũng như khắp nơi trên thế giới
Google Maps trước đây chỉ có ảnh chụp từ vệ tinh, với độ phóng to, thu nhỏ màvẫn cho hình ảnh khá rõ, qua đó ta có thể biết được tuyến đường này, khu vực này ở đâu,
đi từ vị trí này đến vị trí kia bằng cách nào
Cách đây không lâu, Google Maps đưa thêm một tính năng mới với tên: GoogleMaps Street View Tính năng này cho phép người sử dụng nhìn cận cảnh đường phố, nhàcửa, tạo cho người sử dụng cảm giác như chính họ đang đi trên con đường đó vậy Có thểnói đây là một bước đột phá của Google
Trang 11Hình 1 Hình ảnh quang cảnh đường phố của Google Maps Street View
Google Maps Street View cho phép người sử dụng nhìn xung quanh bằng cách sửdụng chuột hoặc các button phía trên bên trái của bản đồ, cũng có thể dùng 2 phím mũitên sang trái, sang phải để nhìn 2 bên cùng với 2 phím page up và page down để nhìn bêntrên và bên dưới
Người sử dụng có thể di chuyển đến địa điểm khác, có các cách sau:
- Sử dụng 2 phím mũi tên lên và xuống để di chuyển đến điểm liền kề trước hoặcsau trên bản đồ
- Sử dụng mũi tên có trên màn hình để di chuyển đến điểm liền kề trước hoặc sautrên bản đồ
- Di chuyển hình người trên bản đồ nhỏ (mini map) tới vị trí cần đến (không giớihạn là chỉ đi đến những điểm ngay kề với vị trí hiện tại)
Chế độ zoom của Google Maps Street View khá tốt, cho ảnh có độ nét chấp nhậnđược khi phóng to Tương tự như khi nhìn xung quanh, có thể sử dụng chuột giữa (wheelmouse) hoặc 2 button + và – có trên bản đồ
Trang 12Ngoài ra, trên mini map có thể zoom in hoặc zoom out để hiển thị chi tiết cũng nhưthu gọn đường phố.
1.2 MapJack
http://www.mapjack.com/Help.html
MapJack là một công ty, làm việc giống như Google Mục đích của MapJack, theonhư những gì được nói trên trang chủ của mình là cung cấp một bức tranh toàn cảnh vềcác thành phố trên toàn thế giới Nhưng hiện tại MapJack mới chỉ cung cấp quang cảnhcho một số thành phố của Thái Lan
Hình 2 Hình ảnh quang cảnh đường phố của MapJack
Các tiện ích của MapJack về cơ bản giống như Google Maps Street View, tuynhiên cũng có nhưng điểm khác nhau, đó là:
- Để thay đổi góc nhìn, người sử dụng có thể sử dụng chuột hoặc 2 phím mũi tênsang trái và sang phải
Trang 13- Để thay đổi vị trí quan sát, có thể dùng 2 phím mũi tên lên và xuống, hoặc 2 buttongóc dưới bên trái của bản đồ lớn.
- Chế độ zoom tương tự như của Google Maps Street View, đó là dùng chuột giữa(wheel mouse) hoặc 2 button zoom in và zoom out góc dưới bên trái của bản đồlớn Ngoài ra MapJack còn đưa thêm 2 phím Z và X tương ứng với zoom in vàzoom out
- Bản đồ nhỏ (mini map) đặt ở vị trí bên dưới bản đồ lớn, kích thước lớn hơn so vớimini map của Google Maps Street View, do đó dễ xác định vị trí hơn
- Khác với Google Maps Street View sử dụng một đường thẳng làm trục chính,MapJack sử dụng các điểm xanh (Blue Dots) làm trục cho con đường của mình,người dùng có thể thay đổi vị trí đến bất cứ điểm xanh nào mà họ nhìn thấy bằngcách click chuột trái vào điểm đó, trong khi Google Maps Street View chỉ chophép tiến đên điểm ngay sau đó
- MapJack cung cấp thêm các công cụ (tools) tùy chọn cho người sử dụng như độsắc nét (Sharpness), chất lượng ảnh (Quality), hay đổi độ rộng góc nhìn của mắt(Prjection), ánh sáng (Brightness)…
Hình 3 Giao diện công cụ của MapJack
Trang 14Chương 2 Một số lý thuyết về đồ họa 3D
2.1 Giới thiệu
Đồ họa máy tính 3D là công việc tạo ra nghệ thuật đồ họa, nghĩa là tạo ra với sựtrợ giúp của máy tính kĩ thuật số và các phần mềm 3D Nói chung thuật ngữ này có thểhiểu như là tiến trình tạo ra đồ họa, hoặc việc nghiên cứu công nghệ đồ họa máy tính 3D
và liên quan tới công nghệ đó
Đồ họa máy tính 3D khác với đồ họa máy tính 2D vì nó có chiều thứ 3 và các dữliệu hình học được máy tính lưu trữ với mục đính để tính toán và tạo lại các hình ảnh 2Dcủa đối tượng mô phỏng 3D Đôi khi các hình ảnh này sẽ hiển thị sau theo dạng được tạoảnh trước, và đôi khi chúng được tạo trong quá trình trực tiếp luôn (real-time)
Nói chung nghệ thuật của các mô hình 3D, được tạo bởi các dữ liệu hình học đượcmáy tính lưu trữ gần giống với các hình ảnh vật thể đó ở bên ngoài thực tế hay các ảnhchụp, trong khi đồ họa 2D là phần tính để tô lại giống thì đồ họa 3D là vẽ lại theo cáccông thức toán học để tạo ra các hình ảnh 2D về vật thể 3D đó
Trong các phần mềm đồ họa máy tính sự phân biệt này thi thoảng là mờ nhạt; một
số ứng dụng 2D sử dụng công nghệ 3D để tạo các hiệu ứng như ánh sáng, trong khi một
số phần mềm 3D lại sử dụng công nghệ 2D để tạo 3D ảo
2.2 Một số kiến thức cơ bản
Đồ hoạ 3D cho phép mô phỏng không gian 3 chiều trong máy tính Về mặt toánhọc, đây là một công việc cực kỳ phức tạp, tuy nhiên hầu hết những công việc phức tạp
này được thực hiện bởi phần cứng chuyên dụng với tốc độ rất cao.
Để biểu diễn không gian 3 chiều, người ta dùng hệ trục toạ độ Đề các, với các trụctoạ độ vuông góc với nhau Mỗi điểm trong không gian được đặc trưng bởi 3 toạ độ: x, y
và z Một đoạn thẳng được biểu diễn bằng 2 điểm và một tam giác được biểu diễn bằng 3điểm trong không gian
Trang 15Để biểu diễn một hình khối phức tạp, người ta chia bề mặt thành các tam giác vàbiểu diễn toàn bộ vật thể thông qua tập các đỉnh của các tam giác Số lượng tam giác dùng
để biểu diễn một vật thể càng nhiều thì vật thể trông càng mượt nhưng tốc độ tạo hình sẽcàng chậm, do đó cần phải cân bằng giữa chất lượng và hiệu năng
Sau khi các vật thể được mô hình hoá, công việc tiếp theo là phải thể hiện được cácvật thể trong không gian lên màn hình máy tính Mỗi công nghệ có một cách làm riêng,tuy nhiên về mặt ý tưởng, có thể tóm tắt qua các bước sau:
Bước 3: Projection
Một khi đã có hướng nhìn các vật thể trong không gian, phép chiếu (projection) sẽquyết định hình ảnh vật thể được thể hiện trên màn hình Phép chiếu là một thao tác đểbiến đổi từ toạ độ trong không gian 3 chiều thành toạ độ trong không gian hai chiều để cóthể thể hiện trên màn hình máy tính
Có 2 phép chiếu thường dùng là phép chiếu song song với mặt phẳng chiếu vuônggóc với tia chiếu và phép chiếu phối cảnh với mặt phẳng chiếu vuông góc với tia chiếu.Phép chiếu song song thường được dùng trong các ứng dụng kỹ thuật, hay tạo giao diệnngười dùng còn phép chiếu phối cảnh thường được dùng trong các trò chơi hoặc các ứngdụng mô phỏng Cụ thể về 2 phép chiếu này sẽ được nói rõ hơn trong phần sau
Như vậy để có thể thể hiện hình ảnh cơ bản của vật thể trên mặt phẳng chiếu, thìmột điểm trong không gian phải được biến đổi qua 3 bước với 3 phép nhân ma trận Tuy
Trang 16nhiên trên thực tế tích của 3 ma trận được tính sẵn, khi đó toạ độ điểm trong không gianchỉ phải nhân một lần với ma trận tích mà thôi.
Ba bước trên đều được xử lý bởi ma trận (Matrix3D)
Sau ba bước trên chúng ta mới chỉ thu được toạ độ các đỉnh được chiếu lên mặtphẳng chiếu, chưa thấy được vật thể Cách đơn giản nhất là nối các đỉnh với nhau, khi đóchúng ta sẽ thu được một mạng các đoạn thẳng biểu diễn vật thể (wireframe)
Để có thể thu được hình ảnh thật hơn, các bước sau tiếp tục được áp dụng:
Bước 4: Depth test
Với hình ảnh thu được ở trên, chúng ta không biểu diễn được việc các vật thể ởgần che lấp các vật thể ở xa Có 2 kỹ thuật để thực hiện được việc này, đó là dùng z-buffer và dùng cây BSP
Trong kỹ thuật dùng z-buffer, một vùng nhớ với kích thước màn hình được tạo ra
để lưu độ sâu của các điểm Phép chiếu thực chất là một phép nhân ma trận, do đó sauphép nhân một toạ độ một điểm trong không gian 3 chiều với ma trận chiếu chúng ta vẫnthu được 3 toạ độ x, y, và z Các toạ độ x, y là toạ độ trên mặt phẳng chiếu, biểu diễn vị trícủa điểm chúng ta sẽ nhìn thấy trên màn hình, còn toạ độ z gọi là độ sâu (xa) của điểm.Toạ độ z có đặc điểm là nằm trong khoảng từ 0 đến 1, trong đó giá trị 0 tương ứng vớiđiểm gần nhất có thể chiếu được, giá trị 1 tương ứng với điểm xa nhất có thể chiếu được.Điểm càng gần thì giá trị càng nhỏ (càng gần 0), điểm càng xa thì giá trị càng lớn (cànggần 1)
Ban đầu, z-buffer được điền đầy bởi các giá trị 1 Nếu một điểm tại x, y có độ sâu znhỏ hơn 1 thì giá trị này được ghi vào z buffer tại vị trí x, y Giả sử có điểm khác sau khichiếu được thể hiện trên màn hình trùng với vị trí x, y, khi đó độ sâu z được đem ra sosánh, nếu giá trị này nhỏ hơn thì có nghĩa điểm trong không gian 3 chiều tương ứng sẽgần tâm chiếu hơn, do đó điểm mới này sẽ đè điểm cũ Nếu z lớn hơn, có nghĩa là điểmmới xa hơn, và sẽ được bỏ qua
Trang 17Kỹ thuật dùng cây BSP (Binary Space Partitioning) dựa trên ý tưởng phân khônggian thành nhiều phần (partition) rồi sắp xếp theo thứ tự từ xa đến gần Khi tạo hình, cácphần sẽ được vẽ theo thứ tự từ xa đến gần, khi đó các phần ở gần được vẽ sau sẽ đè cácphần ở xa đã vẽ trước đó.
Kỹ thuật dùng cây BSP cần tính toán tương đối nhiều, do đó chỉ nên áp dụng vớicác vật thể tĩnh (như đồi núi, nhà cửa, cây cối…), còn đối với các vật thể động (như nhânvật trong trò chơi) thì nên dùng z-buffer
Bước 5: Color, Light, Fog, Texture Mapping, Blending
Tạo màu là bước cho phép thể hiện màu sắc tại các đỉnh của một tam giác cũngnhư các điểm bên trong một tam giác dựa vào màu sắc của các đỉnh tam giác Để thể hiện
bề mặt người ta dùng các thuật toán tạo shading Có một số thuật toán như Flat Shading
(tốc độ nhanh, chất lượng thấp do thấy đường giao giữa các tam giác) hay Phong Shading(tốc độ thấp, chất lượng cao)
Hiệu ứng ánh sáng có thể được đưa vào việc tạo hình Hình ảnh thu được phụthuộc vào chất liệu bề mặt (độ bóng, độ phản xạ ánh sáng, độ nhiễu xạ ánh sáng…) và cácnguồn sáng (vị trí nguồn sáng, kiểu nguồn sáng, cường độ sáng, hướng chiếu sáng…).Hiệu ứng ánh sáng cho phép tạo hình ảnh thật hơn, mô tả được không gian sáng tối
Hiệu ứng sương mù cho phép mô phỏng sương mù vào không gian ba chiều Vậtthể càng gần thì nhìn càng rõ, vật thể càng xa càng mù Thông thường độ mù sẽ tăng theohàm mũ của khoảng cách, và được điều khiển bởi hệ số mật độ sương mù đặc trưng chosương dày hay mỏng
Texture mapping là kỹ thuật cho phép dùng một ảnh thật lát lên một bề mặt trongkhông gian Kỹ thuật này cho phép thể hiện các vật thể thật hơn, ví dụ như việc sử dụngảnh vân gỗ để lát lên bề mặt bàn trong không gian 3 chiều
Blending cho phép thể hiện một vật thể với độ trong nào đó Các vật thể đặc khôngcho phép nhìn qua, còn các vật thể trong thì có thể nhìn xuyên qua và thấy được các vật
Trang 18đằng sau vật đó Tham số đặc trưng cho độ trong suốt thường gọi là Alpha, trong đóAlpha bằng 0 có nghĩa là vật trong hoàn toàn, Alpha càng lớn thì vật càng đặc.
Ngoài ra còn có một số hiệu ứng đặc biệt khác đem lại chất lượng hình ảnh caonhư phản xạ gương, đổ bóng, tạo bề mặt sần sùi…
2.3 Lý thuyết về phép chiếu
2.3.1 Phép chiếu song song
Các hình ảnh được hình thành bằng phép chiếu song song có thể được xác địnhdựa vào góc hợp bởi hướng của phép chiếu hợp với mặt phẳng chiếu Khi hướng của phép
chiếu vuông góc với mặt phẳng, ta có phép chiếu trực giao (hay phép chiếu vuông góc
- orthographic projection) Một phép chiếu có thể không vuông góc với mặt phẳng chiếu được gọi là phép chiếu xiên (oblique projection)
Các phép chiếu trực giao hầu như được dùng để tạo ra quang cảnh nhìn từ phíatrước, bên sườn, và trên đỉnh của đối tượng Quang cảnh phía trước, bên sườn, và phía saucủa đối tượng được gọi là “mặt chiếu” (elevation), và quang cảnh phía trên được gọi là
“mặt phẳng” (plane) Các bản vẽ trong kỹ thuật thường dùng các phép chiếu trực giaonày, vì các chiều dài và góc miêu tả chính xác và có thể đo được từ bản vẽ
Trang 19Hình 4 Ba phép chiếu trực giao của một đối tượng
Chúng ta cũng có thể xây dựng các phép chiếu trực giao để có thể quan sát nhiềuhơn một mặt của một đối tượng Các quang cảnh như thế được gọi là các phép chiếu trực
giao trục lượng học (axonometric orthographic projection) Hầu hết phép chiếu trục lượng học được dùng là phép chiếu cùng kích thước (isometric projection) Một phép
chiếu cùng kích thước được thực hiện bằng việc sắp xếp song song mặt phẳng chiếu mà
nó cắt mỗi trục tọa độ ở nơi đối tượng được định nghĩa (được gọi là các trục chính) ở cáckhoảng cách như nhau từ ảnh gốc Hình 5 trình bày phép chiếu cùng kích thước Có tám
vị trí, một trong tám mặt, đều có kích thước bằng nhau Tất cả ba trục chính được vẽ thugọn bằng nhau trong phép chiếu cùng kích thước để kích thước liên hệ của các đối tượngđược bảo tồn Đây không là trường hợp phép chiếu trực giao trục lượng học tổng quát, khi
mà các hệ số tỷ lệ theo ba trục chính có thể khác nhau
Trang 20Các phương trình biến đổi để thực hiện một phép chiếu song song trực giao thì dễ hiểu.Đối với điểm bất kỳ (x, y, z), điểm chiếu (xp, yp, xp) trên bề mặt chiếu được tính như sau:
xp = x, yp = y, zp = 0
Hình 5 Phép chiếu cùng kích thước của một đối tượng lên bề mặt quan sát
Một phép chiếu xiên đạt được bằng việc chiếu các điểm theo các đường thẳng songsong, các đường thẳng này không vuông góc với mặt phẳng chiếu Hình 6 trình bày hìnhchiếu xiên của điểm (x, y, z) theo một đường thẳng chiếu đến vị trí (xp, yp) Các tọa độchiếu trực giao trên mặt phẳng chiếu là (x, y) Đường thẳng của phép chiếu xiên tạo mộtgóc α với đường thẳng trên mặt phẳng chiếu (đây là đường nối điểm (xp, yp) với điểm (x,y)) Đường này, có chiều dài L, hợp một góc φ với phương ngang trên mặt phẳng chiếu.Chúng ta có thể diễn tả các tọa độ chiếu qua các số hạng x, y, L, và φ:
xp = x + L cosφ
yp = y + L sinφ
Trang 21Hình 6 Phép chiếu vuông góc của điểm (x, y, z) thành điểm (xp, yp) lên mặt phẳng chiếu
Phương chiếu có thể định nghĩa bằng việc chọn các giá trị cho góc α và φ Cácchọn lựa thông thường cho góc φ là 30o và 45o, là các góc hiển thị một quang cảnh củamặt trước, bên sườn, và trên đỉnh (hoặc mặt trước, bên sườn, và dưới đáy) của một đốitượng Chiều dài L là một hàm của tọa dộ z, và chúng ta có thể tính tham số này từ cácthành phần liên quan
Trang 22Một phép chiếu trực giao có thể đạt được khi L1 = 0 (xảy ra ở góc chiếu α=90o).Các phép chiếu xiên được sinh ra với giá trị L1 khác không Ma trận chiếu 6-6 có cấu trúctương tự ma trận của phép làm biến dạng theo trục z Thực tế, kết quả của ma trận chiếunày là làm biến dạng mặt phẳng của hằng z và chiếu chúng lên mặt phẳng quan sát Cácgiá trị tọa độ x và y trong mỗi mặt của hằng z bị thay đổi bởi một hệ số tỷ lệ đến giá trị zcủa mặt phẳng để các góc, các khoảng cách, và các đường song song trong mặt phẳngđược chiếu chính xác
2.3.2 Phép chiếu phối cảnh
Để đạt được phép chiếu phối cảnh của đối tượng ba chiều, chúng ta chiếu các điểmtheo đường thẳng chiếu để các đường này gặp nhau ở tâm chiếu Trong hình 6-10, tâmchiếu trên trục z và có giá trị âm, cách một khoảng d phía sau mặt phẳng chiếu Bất kỳđiểm nào cũng có thể được chọn làm tâm của phép chiếu, tuy nhiên việc chọn một điểmdọc theo trục z sẽ làm đơn giản việc tính toán trong các phương trình biến đổi
Trang 23Hình 7 Phép chiếu phối cảnh của điểm P ở tọa độ(x, y, z) thành điểm (xp, yp, 0) trên mặt phẳng chiếu
Chúng ta có thể đạt được các phương trình biến đổi cho phép chiếu phối cảnh từ cácphương trình tham số mô tả các đường chiếu từ điểm P đến tâm chiếu (xem hình 7) Cáctham số xây dựng các đường chiếu này là
x’ = x – xuy’ = y – yuz’ = z - (z + d)u
Tham số u lấy giá trị từ 0 đến 1, và các tọa độ (x’, y’, z’) thể hiện cho bất kỳ điểmnào dọc theo đường thẳng chiếu Khi u = 0, phương trình 12-7 làm cho điểm P ở tọa độ(x, y, z) Ở đầu mút kia của đường thẳng u =1, và chúng ta có các tọa độ của tâm chiếu,(0, 0, d) Để thu được các tọa độ trên mặt phẳng chiếu, chúng ta đặt z’ = 0 và tìm ra tham
số u:
u = z / (z + d)
Giá trị của tham số u tạo ra giao điểm của đường chiếu với mặt phẳng chiếu tại (xp, yp, 0).Thế giá trị của u vào phương trình trên, ta thu được các phương trình biến đổi của phépchiếu phối cảnh
Trang 24Khi các đối tượng ba chiều đựợc chiếu lên một mặt phẳng dùng các phương trìnhbiến đổi phối cảnh, bất kỳ tập hợp các đường thẳng song song nào của đối tượng màkhông song song với mặt phẳng chiếu được chiếu thành các đường hội tụ (đồng quy) Cácđường thẳng song song với mặt phẳng khi chiếu sẽ tạo ra các đường song song Điểm màtại đó tập hợp các đường thẳng song song được chiếu xuất hiện hội tụ về đó được gọi là
điểm ảo (vanishing point) Mỗi tập hợp các đường thẳng song song được chiếu như thế sẽ
có một điểm ảo riêng (xem hình 8)
Trang 25Hình 8 Các quang cảnh phối cảnh của một hình lập phương.
Điểm ảo cho bất kỳ tập các đường thẳng, tức các đường song song với một trong
các trục tọa độ thế giới thực được nói đến như một điểm ảo chính (principal vanishing point) Chúng ta quản lý số lượng các điểm ảo chính (một, hai, hoặc ba) với hướng của
mặt phẳng chiếu, và các phép chiếu phối cảnh được phân loại dựa vào đó để có các phépchiếu: một-điểm (one-point), hai-điểm (two-point), hoặc ba-điểm (three-point) Số lượngcác điểm ảo chính trong một phép chiếu được xác định bởi số lượng các trục của hệ tọa
độ thế giới thực cắt mặt phẳng chiếu Hình 8 minh họa hình ảnh của các phép chiếu phốicảnh một-điểm và hai-điểm của hình lập phương Trong hình 8(b), mặt phẳng chiếu cóphương song song với mặt xy để chỉ có trục z bị cắt Phương này tạo ra phép chiếu phốicảnh một-điểm với một điểm ảo trên trục z Với quang cảnh trong hình 8(c), mặt phẳng