Các mô hình đối tượng 3D trong thực tại ảo được tạo ra chủ yếu bằng ba phương pháp đó là tạo ra từ các lệnh trong ngôn ngữ lập trình, từ các nhà thiết kế sử dụng phần mềm 3D và từ các má
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ HẰNG
MÔ HÌNH 3D VÀ MỘT SỐ KỸ THUẬT MÔ HÌNH HÓA 3D
TRONG MÔ PHỎNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN, NĂM 2018
Trang 2
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: PGS.TS Đỗ Năng Toàn
THÁI NGUYÊN, NĂM 2018
Trang 3LỜI CẢM ƠN
Trong quá trình thực hiện luận văn mặc dù gặp rất nhiều khó khăn nhưng tôi luôn nhận được sự quan tâm, giúp đỡ từ thầy cô, đồng nghiệp bạn
bè và người thân Đây là nguồn động lực giúp tôi hoàn thành luận văn này
Tôi xin gửi lời chân thành cảm ơn tới PGS.TS Đỗ Năng Toàn đã tận
tình giúp đỡ, hướng dẫn và chỉ bảo trong quá trình thực hiện luận văn
Tôi xin chân thành cảm ơn tới quý thầy, cô trường Đại học Công nghệ thông tin và truyền thông - Đại học Thái Nguyên đã tận tình chỉ bảo, truyền đạt những kiến thức qúy báu giúp tôi hoàn thành nhiệm vụ học tập trong suốt thời gian theo học tại trường Quý thầy cô đã giúp tôi có được những kiến thức quan trọng trong lĩnh vực Công nghệ thông tin, là nền tảng vững chắc cho những nghiên cứu của bản thân trong thời gian tới
Tôi xin cảm ơn anh em, đồng nghiệp đã giúp đỡ, ủng hộ tinh thần trong thời gian tôi tham gia học tập
Cuối cùng, tôi xin cảm ơn tất cả những người đã luôn luôn quan tâm, sẻ chia và động viên tôi
Thái Nguyên, ngày 30 tháng 05 năm 2018
Học viên thực hiện
Nguyễn Thị Hằng
Trang 4LỜI CAM ĐOAN
Tôi Nguyễn Thị Hằng xin cam đoan những nội dung trình bày luận văn này là kết quả tìm hiểu, nghiên cứu của bản thân dưới sự hướng dẫn của PGS.TS Đỗ Năng Toàn và các nhà nghiên cứu đi trước Nội dung tham khảo,
kế thừa, phát triển từ các công trình đã được công bố được trích dẫn, ghi rõ nguồn gốc Kết quả mô phỏng, thí nghiệm được lấy từ chương trình của bản thân
Nếu có gì sai phạm tôi xin hoàn toàn chịu trách nhiệm
Thái Nguyên, ngày 30 tháng 05 năm 2018
Người cam đoan
Trang 5MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC HÌNH ẢNH v
LỜI NÓI ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ THỰC TẠI ẢO VÀ MÔ HÌNH 3D TRONG THỰC TẠI ẢO 3
1.1 Khái quát về thực tại ảo 3
1.2 Các lĩnh vực ứng dụng của Thực tại ảo 6
1.3 Mô hình 3D trong thực tại ảo 12
1.3.1 Các dạng mô hình cở bản 12
1.3.2 Một số cách tiếp cận tạo mô hình 3D 15
CHƯƠNG 2: MỘT SỐ KỸ THUẬT MÔ HÌNH HÓA 3D 24
2.1 Kỹ thuật mô hình hóa 3D dựa trên lưới đa giác 24
2.1.1 Bề mặt đa giác 24
2.1.2 Biểu diễn lưới đa giác 25
2.2 Kỹ thuật mô hình hoá bề mặt có qui luật 32
2.2.1 Bề mặt có quy luật 32
2.2.2 Một số khái niệm và giả thiết ban đầu của thuật toán QEM (Quardric Error Metric) 35
2.3 Kỹ thuật mô hình hoá NURBS 44
2.3.1 Đường cong tham số NURBS 45
2.3.2 Bề mặt NURBS 46
CHƯƠNG 3: CHƯƠNG TRÌNH THỬ NGHIỆM MÔ PHỎNGNGỌN LỬA 52
3.1 Bài Toán 52
3.2 Phân tích, lựa chọn công cụ 53
Trang 63.2.1 Xây dựng mô hình mô phỏng 53
3.2.2 Điều khiển mô hình bằng ngôn ngữ lập trình 56
3.3 Một số kết quả thực nghiệm 57
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 61
Trang 7DANH MỤC HÌNH ẢNH
Hình 1.1 Hệ thống HMD 4
Hình 1.2 Hệ thống BOOM 5
Hình 1.3 Ứng dụng Thực tại ảo trong thiết kế nội thất 6
Hình 1.4 Ứng dụng Thực tại ảo trong thiết kế xe hơi 7
Hình 1.5 Ứng dụng Thực tại ảo trong game giải trí 8
Hình 1.6 Ứng dụng Thực tại ảo trong phim Avatar 8
Hình 1.7 Mô phỏng lái tàu ảo của công ty mô phỏng Việt Nam 9
Hình 1.8 Định nghĩa các thành phần của môt Cube 3D 13
Hình 1.9 Định nghĩa các thành phần của một Cylinder 3D 13
Hình 1.10 Định nghĩa các thành phần của một Cone 3D 14
Hình 1.11 Định nghĩa các thành phần của một Sphere 3D 14
Hình 1.12 Một số hình khối 3D cơ bản 16
Hình 1.13 Công cụ Select and Move trong thiết kế 17
Hình 1.14 Chế độ Editable Poly 18
Hình 1.15 Hai tấm plance chiếu đứng và cạnh (cách 1) 19
Hình 1.16 Hai tấm plance chiếu đứng và cạnh (cách 2) 19
Hình 1.17 Tổng thống Mỹ Obama và hình ảnh 3D của ông thu được 21
từ máy quét 21
Hình 1.18 Máy quét TTO - Sense 3D 22
Hình 1.19 Máy quét Digitizer 22
Hình 2.1 Lưới đa giác xác định bằng các chỉ số trong danh sách 26
Hình 2.2 Lưới đa giác xác định bởi danh sách các cạnh cho mỗi đa giác ( λ biểu diễn giá trị rỗng) 27
Hình 2.3 Biểu diễn mặt cầu bằng lưới đa giác 28
Hình 2.4 Hình trụ là mặt có quy luật 32
Hình 2.5 Minh họa một hình trụ 33
Trang 8Hình 2.6 Vật thể gồm nhiều khối hộp đặt sát nhau được giảm thiểu theo 2
cách 37
Hình 2.7 Đơn giản hóa bề mặt 37
Hình 2.8 Sau khi loại bỏ một cặp thì xuất hiện 1 mặt bị ngược 43
Hình 2.9 Giải pháp của QEM 44
Hình 2.10 Biểu diễn mảng tứ giác 48
Hình 2.11 Kết nối mảng tứ giác 48
Hình 2.12 Mảnh tam giác 49
Hình 2.13 Bề mặt NURBS 50
Hình 3.1 Biểu đồ phân tích chức năng của thí nghiệm mô phỏng 53
Hình 3.2 Bàn thí nghiệm 54
Hình 3.3 Chiếc đèn cồn 54
Hình 3.4 Giá đỡ thanh kim loại 55
Hình 3.5 Mô hình toàn cảnh bên ngoài phòng thí nghiệm 55
Hình 3.6 Hình ảnh ngọn lửa trong khi cháy 56
Hình 3.7 Trạng thái quan sát chính diện với mô hình khi chưa có ngọn lửa 57 Hình 3.8 Trạng thái quan sát chính diện với mô hình khi ngọn lửa đang cháy 58
Hình 3.9 Trạng thái quan sát vuông góc với mô hình 58
Trang 9LỜI NÓI ĐẦU
Ngày nay, thực tại ảo (thực tế ảo) đã ngày càng chứng tỏ vai trò quan trọng trong đời sống cũng như trong khoa học, kỹ thuật Thực tại ảo hiện diện
ở hầu như mọi lĩnh vực giải trí, giáo dục, văn hóa, kinh tế, chính trị, quốc phòng, khoa học, đời sống v.v Trong thực tại ảo việc xây dựng các đối tượng 3D (3 chiều) là vô cùng quan trọng, vì các đối tượng 3D giúp cho thế giới trong thực tại ảo giống với thực tế hơn đáp ứng được các nhu cầu khắt khe của con người
Thực tại ảo là công nghệ sử dụng các kỹ thuật mô hình hoá không gian
ba chiều, đưa thế giới ba chiều vào trong máy tính để tạo ra một môi trường
ảo bằng 3D Trong môi trường ảo, người sử dụng đã thực sự trở thành một phần của hệ thống Một trong các ứng dụng, con người có thể được nhập vai
để có thể tự do chuyển động trong không gian ảo, tương tác với các vật thể ảo Ngược lại, môi trường ảo tác động lại hay có những phản hồi tương ứng với các hành động của người sử dụng, các tác động này tuân theo những quy tắc toán học, vật lý, tự nhiên, làm con người có cảm giác như đang tồn tại trong một thế giới thực
Các mô hình đối tượng 3D trong thực tại ảo được tạo ra chủ yếu bằng
ba phương pháp đó là tạo ra từ các lệnh trong ngôn ngữ lập trình, từ các nhà thiết kế sử dụng phần mềm 3D và từ các máy quét 3D Với mỗi phương pháp tạo mô hình đều mang những ưu, nhược điểm khác nhau Tuy nhiên các phương pháp này chỉ cho phép người sử dụng thiết kế mô hình, lập trình gia công, đo đạc, kết xuất ra tệp tin dữ liệu theo định dạng của phần mềm, việc tái tạo mô hình vật thể chưa được hỗ trợ hoàn chỉnh
Do vậy, việc nghiên cứu xây dựng mô hình các đối tượng 3D linh hoạt, phục vụ quá trình nghiên cứu tiến tới tái tạo các vật thể từ máy quét 3D hay từ
Trang 10các phần mềm chuyên dụng là một yêu cầu cấp thiết Chính vì tầm quan của việc tạo mô hình, đặc biệt là các mô hình tạo ra từ máy quét 3D, tôi thực hiện
đề tài “Mô hình 3D và một số kỹ thuật mô hình hóa 3D trong mô phỏng”
nhằm đáp ứng các yếu tố về kích thước dữ liệu mô hình đối tượng đồng thời rút ngắn thời gian biểu diễn bề mặt mô hình để thỏa mãn cho các chuyển động của mô hình
Cấu trúc của luận văn gồm: Phần mở đầu, phần kết luận và 3 chương nội dung, cụ thể:
Chương 1: Khái quát thực tại ảo và mô hình 3D trong thực tại ảo
Trong chương này em giới thiệu chung về thực tại ảo, các ứng dụng cơ bản của thực tại ảo và giới thiệu về các mô hình 3D trong thực tại ảo
Chương 2: Một số kỹ thuật mô hình hóa 3D
Trong chương này em trình bày các kỹ thuật mô hình hóa 3D như kỹ thuật mô hình hóa 3D dựa trên lưới đa giác, kỹ thuật mô hình hóa bề mặt có quy luật và kỹ thuật mô hình hóa NURBS
Chương 3: Chương trình mô phỏng cháy
Chương này thể hiện chương trình mô phỏng bài toán mô phỏng lửa trong thực tại ảo
Trang 11CHƯƠNG 1: TỔNG QUAN VỀ THỰC TẠI ẢO VÀ MÔ HÌNH 3D
TRONG THỰC TẠI ẢO
1.1 Khái quát về thực tại ảo
Thực tại ảo là môi trường ba chiều được phát sinh, tổng hợp và điều khiển thông qua máy vi tính nhằm mục đích mô phỏng lại thế giới thực hoặc một thế giới theo tưởng tượng của con người Nó cho phép người dùng thông qua các thiết bị ngoại vi và bộ chuyển đổi tương tác các sự kiện, hành động của thế giới thực
Ví dụ: Người sử dụng có thể dịch chuyển một vật thể trong thế giới
ảo, hoặc có thể cảm nhận một vật khi chạm vào nó…Trong đó thiết bị ngoại vi sẽ làm nhiệm vụ chuyển những hoạt động của người sử dụng vào
bộ chuyển đổi, sau đó bộ chuyển đổi sẽ chuyển những tín hiệu này thành các tương tác vào môi trường ảo, đồng thời môi trường cũng chuyển những tác dụng của nó đến bộ chuyển đổi và bộ chuyển đổi chuyển đến các thiết
bị ngoại vi, sau đó các thiết bị ngoại vi sẽ tác động đến người sử dụng Vì vậy người sử dụng sẽ có khả năng tương tác với môi trường ảo như là tương tác với chính môi trường thực
Ngoài thuật ngữ thực tại ảo (Virtual reality) người ta cũng hay đề cập tới thuật ngữ thế giới ảo (Virtual World) Thực chất đây là hai khái niệm tương đồng để chỉ một không gian ảo mà trong không gian này những người
sử dụng có thể tương tác với các đối tượng của không gian ảo, hoặc những người sử dụng có thể tương tác với nhau trong không gian đó
Nói chung các hệ thống thực tại ảo phải xử lý một khối lượng lớn thông tin đa phần là các thông tin của các đối tượng 3D do đó tốn bộ nhớ và đòi hỏi thời gian xử lý là thời gian thực vì thế nó yêu cầu một lượng bộ nhớ RAM lớn
và bộ xử lý cùng các thiết bị vào ra có tốc độ cao Vì vậy, mặc dù bắt đầu
Trang 12được nghiên cứu từ khá lâu, nhưng trong một số năm gần đây thực tại ảo mới
có được sự phát triển và ngày càng mở rộng
Các thiết bị ngoại vi sử dụng trong lĩnh vực thực tại ảo ngày càng hiện đại và đa dạng Một trong những thiết bị phải kể đến là hệ thống HMD (Head-Mounted-Display) Đây là một trong những hê thống được phát triển đầu tiên
để phục vụ trong lĩnh vực này Ngày nay, nó vẫn là một hệ thống không thể thiếu được trong lĩnh vực thực tại ảo Hệ thống này gồm có hai màn hình gắn trực tiếp vào hai mắt, cho phép bạn nhìn, cảm nhận thế giới ảo như là không gian trong thế giới thực và một số thiết bị rất nhạy nhằm xác định vị trí góc quay của HMD như hình 1.1 Từ đó hệ thống sẽ tính toán góc nhìn và vị trí của bạn trong thế giới ảo
Hình 1.1 Hệ thống HMD
Ngoài ra hệ thống HMD, thiết bị ngoại vi sử dụng trong lĩnh vực thực tại ảo còn có BOOM và CAVE BOOM (Binocular Omni-orientation Monitor) và CAVE (Cave Automatic Virtual Envirronment) là hai hệ thống,
ví dụ như BOOM không dùng mũ gắn trên đầu mà dùng một cái cần gắn màn hình vào một đầu có tay cầm ở màn hình Khi bạn nhìn vào màn hình dịch chuyển nó, lập tức thiết bị nháy cũng dịch chuyển theo góc nhìn, vị trí nhìn của bạn cũng thay đổi như hình 1.2
Trang 13Thực tại ảo là một môi trường 3D trên máy vi tính, nó sử dụng một lượng lớn các thông tin đồ họa và các thông tin này luôn luôn biến đổi Do đó,
nó không thể dùng các phương pháp truy cập trực tiếp bộ nhớ đồ họa (vì tốc
độ chậm), mà phải dùng phương pháp truy cập trực tiếp bộ nhớ và sử dụng bộ tăng tốc đồ họa Vì vậy người ta cần một phần mềm cho phép truy cập trực tiếp bộ nhớ và điều khiển bộ tăng tốc đồ họa Hiện nay một số chuẩn phần mềm được sử dụng nhiều như: Directx, OpenGL, MiniGL…Hiện nay thực tại
Trang 14ảo đã được sử dụng rộng rãi, các ứng dụng trên mạng của nó ngày càng nhiều nên tổ chức W3C đưa ra một mô hình chuẩn trên mạng cho thực tại ảo Đó là
mô hình VRML (Virtual Renlity modeling language)
1.2 Các lĩnh vực ứng dụng của Thực tại ảo
Công nghệ Thực tại ảo đang ngày một phát triển rộng rãi và đã có mặt trong hầu hết các lĩnh vực quan trọng của cuộc sống
Kiến trúc, xây dựng và công nghiệp chế tạo
Hình 1.3 Ứng dụng Thực tại ảo trong thiết kế nội thất
Thiết kế kiến trúc là một trong những lĩnh vực ứng dụng công nghệ thực tại
ảo nhiều nhất Trước đây, khi chưa có thực tại ảo, các ý tưởng công trình kiến trúc chỉ được thể hiện trên các khổ giấy Và chi tiết bằng cách thêm thông số
và bản vẽ các mặt của công trình Ngày nay, khả năng mô hình hoá thế giới thực của công nghệ thực tại ảo dường như đáp ứng một cách đầy đủ, trực quan các công trình của ngành thiết kế kiến trúc từ không gian 3D, kết cấu công trình, vật liệu, ánh sáng, cho phép khách hàng, nhà đầu tư tự do tham quan, khảo sát công trình cần xây dựng của họ theo nhiều góc độ và vị trí khác nhau
Trang 15Bên cạnh kiến trúc, xây dựng công nghệ thực tại ảo hỗ trợ đắc lực cho ngành sản xuất thiết bị cơ khí, mà công đoạn thiết kế mô hình có vai trò quan trọng khi thiết kế động cơ, thiết kế ô tô, tàu biển, máy bay,
Hình 1.4 Ứng dụng Thực tại ảo trong thiết kế xe hơi
Khả năng mô hình hoá cho phép nhà thiết kế thể hiện được một cách trực quan nhất ý tưởng thiết kế của mình, qua đó có thể đánh giá cơ bản về hiệu năng của thiết bị dựa trên những thử nghiệm mô phỏng trên thiết bị ảo,
và có những hiệu chỉnh cần thiết trước khi thiết bị thực sự được sản xuất Điều này rõ ràng góp phần không nhỏ trong thành công của thiết bị công nghệ, giảm bớt những chi phí phát sinh
Giải trí
Khi công nghệ thực tại ảo ra đời, con người luôn luôn nghĩ ra những thứ mới để đầu tư cho lĩnh vực giải trí Việc áp dụng công nghệ 3D khiến chi phí đầu tư vào lĩnh vực phim, game, … khá thấp mà lợi nhuận thu vào là vô cùng
to lớn
Số lượng người bị cuốn hút theo các trò chơi game, đặc biệt là giới trẻ, tăng theo cấp số nhân
Trang 16Hình 1.5 Ứng dụng Thực tại ảo trong game giải trí
số lượng vé bán ra trong các rạp chiếu phim 3D làm vô cùng lớn từ năm 2007 trở về đây, ví dụ như phim Avatar, Transfomer,
Hình 1.6 Ứng dụng Thực tại ảo trong phim Avatar
Hơn thế, sự phát triển mạnh mẽ trong lĩnh vực công nghệ, giúp phần cứng máy tính càng ngày càng đáp ứng được các nhu cầu của của các nhà sản xuất cũng như các tín đồ giải trí Nếu như chúng ta trở lại khoảng hơn 15 năm về trước, thật khó có thể tìm thấy một máy tính có cấu hình đủ mạnh để cho phép tạo ra các ứng dụng thực tại ảo thời gian thực
Giáo dục và đào tạo
Ngay từ khi công nghệ 3D ra đời, thì hầu hết các ứng dụng thực tại ảo đều được phát triển trong quân đội Sự đầu tư vô cùng lớn từ phía các nhà lãnh đạo của Mỹ, Nga, là việc tập luyện bắn ảo, các bài toán mô phỏng cháy nổ của thuốc súng, hay mô phỏng đường đi của tên lửa, …
Trang 17Ngày nay, sự phát triển trên nền công nghệ và kỹ thuật cao, thực tại ảo tích hợp những đặc tính làm cho bản thân nó có những tiềm năng vượt trội so với các công nghệ đa phương tiện truyền thống khác Ví dụ: lái xe đạp tương tác ảo cho trẻ em, tương tác lái container, lái máy bay ảo Qua các thiết bị phần cứng, như màn hình, joytick, kính, người học có thể nhập vai để tương tác với thực tế ảo thông qua các hành động của mình, đồng thời thế giới ảo cũng tác động lại với người học, khiến người học tăng thêm các kỹ năng nghiệp vụ mà không cần phải chịu chi phí, hay hậu quả do mình gây ra Ví dụ một vụ lái xe container mà đâm vào một tòa nhà ven đường,…
Hình 1.7 Mô phỏng lái tàu ảo của công ty mô phỏng Việt Nam
Khi công nghệ thực tại ảo tính toán chính xác những vụ nổ, vụ va chạm, tính toán khác trong xã hội thì ngày càng nhiều các thí nghiệm được thực hiện ngay trên môi trường ảo
Tính chất trực quan của bài giảng thực tại ảo được nâng cao một bước làm tăng sự hứng thú trong học tập cũng như khả năng ghi nhớ các khái niệm quan trọng trong bài giảng Ví dụ chúng ta hoàn toàn có thể tạo ra một môi
Trang 18trường ảo của các trận chiến trong môn học lịch sử mà người học có thể nhìn cuộc chiến từ nhiều góc độ khác nhau, có thể là người trung gian, có thể là hóa thân một nhân vật để tham gia trận chiến đó Từ đó, học viên nắm bắt được nhanh chóng và có ý thức hơn với những tính huống được học Và cũng không phải là viễn tưởng khi ta có thể nói rằng một ngày nào đó bài học của học viên sẽ là những kỹ năng sống được đào tạo trong môi trường ảo
Trang 19 Y học
Trong y học, công nghệ thực tại ảo giúp cho con người có thể thao tác giải phẩu trực tiếp với các thể ảo Giúp cho việc đào tạo các bác sỹ đa khoa được hoàn thiện hơn và tự tin hơn trong các ca mổ của mình Giúp cho công nghệ y tế được phát triển hơn, qua mô phỏng giúp cho con người hiểu hơn về quá trình truyền máu, tiêu hóa thức ăn, từ các bài toán mô phỏng
Y học là một trong những lĩnh vực ứng dụng tiềm năng trong công nghệ Thực tại ảo Cho đến nay, lĩnh vực nổi bật trong y học áp dụng thành công công nghệ Thực tại ảo là giả lập giải phẫu (Surgical Simulation)
Trên cơ sở các kỹ thuật đồ hoạ máy tính và Thực tại ảo, hệ thống đào tạo y học này bao gồm hai bộ phận cơ bản: Khối tương tác ba chiều là mô hình sinh thể ảo cho phép người sử dụng thực hiện các thao tác giải phẫu thông qua các dụng cụ giải phẫu ảo; Khối giao diện người dùng hai chiều cung cấp những thông tin phản hồi trực quan từ mô hình trong quá trình giải phẫu cũng như những thông tin hướng dẫn trong phiên đào tạo
Phương pháp đào tạo có tính tương tác cao này mang nhiều ưu điểm so với các phương pháp truyền thống như thực hành trên mô hình plastic hay trên bệnh nhân thực Thứ nhất, khác với phương pháp dùng mô hình plastic, sinh thể giải phẫu ảo có khả năng cung cấp những thông tin phản hồi sinh học một cách tự nhiên như một sinh thể sống thực, chẳng hạn như sự thay đổi về nhịp tim, huyết áp v.v Điều này tạo cho học viên có cảm giác đang trải qua một ca mổ trong một tình huống thực Thứ hai, khác với thực hành trên bệnh nhân thật, những sai lầm của học viên trong quá trình thực tập không phải trả giá bằng những thương tổn thực trên cơ thể người bệnh Điều này cũng làm giảm áp lực lên học viên khi thực hiện phẫu thuật ảo Từ đó, giúp họ tự tin và chủ động hơn trong học tập Phương pháp này còn cho phép các bác sĩ không
Trang 20ngừng nâng cao trình độ tay nghề, kỹ năng phối hợp làm việc bằng cách liên tục đặt ra những giả định tình huống bệnh, cập nhật những dữ liệu bệnh lý mới để thực hiện những phương pháp mới, kỹ thuật mới trong điều trị Bác sĩ cũng có thể tự lập kế hoạch mổ thử trên bệnh nhân ảo trước khi mổ trên bệnh nhân thật do đó làm tăng mức độ an toàn và hiệu quả điều trị, giảm thiểu sai lầm rủi ro đáng tiếc xảy ra
1.3 Mô hình 3D trong thực tại ảo
1.3.1 Các dạng mô hình cở bản
“Trái tim” của đồ hoa ̣3D là các dạng hình hoc ̣ , đăc biệt là các dạng hình học 3D Đồ hoạ 3D hỗ trợ rất nhiều các dang hình học cơ bản đến phức tap Trong phần này chúng chỉ đi nghiên cứu những dạng hình hoc cơ bản: Shape, Cube, Cylinder, Cone, Sphere, Pyramid Phần Shape đươc đề cập đầu tiên vì nó là “thành phần cha”, nó có thể chưá môt hoặc nhiều thành phần khác bên trong
Shape
Thành phần Shape có thể chứa cả các thành phần hình hoc và các thành phần thể hiện hình dạng (sẽ đươc để câp ở phần sau) cho môt đối tương 3D Như vây, môt đối tượng 3D thường chứa nhiều các thành phần Shape khác nhau, mỗi môt Shape sẽ liên kết các thành phần hình hoc (geometry) với những thành phần thể hiên hình dạng (appearance)
Trang 21Hình 1.8 Định nghĩa các thành phần của môt Cube 3D
Cylinder
Hình trụ là đối tượng được tạo ra từ thẻ Cylinder có tâm tại tọa độ (0 0 0), có bán kính quy định qua thuộc tính radius và chiều qua quy định qua trường height
Hình 1.9 Định nghĩa các thành phần của một Cylinder 3D
Cone
Cone (hình nón) được gây ra bởi sự chuyển động thông qua một dòng đơn giản thẳng qua điểm nơi cố định điểm duy trì bởi những khúc cua hẹp Bong Điểm cố định được gọi là đỉnh V (Vertex) tất cả các điểm trên
bề mặt của hình nón nên hình nón trên đường mà vượt qua tán các đỉnh của một hình nón
Trang 22Hình 1.10 Định nghĩa các thành phần của một Cone 3D
Sphere
Sphere (hình cầu) là tập hợp các điểm trong không gian 3D mà đuôi của nó từ một điểm cố định Một khoảng cách không đổi, điểm cố định được gọi là trung tâm (Center) của một hình cầu và một khoảng cách cố định gọi Bán kính của hình cầu (bán kính) của bầu
Hình 1.11 Định nghĩa các thành phần của một Sphere 3D
Với các đối tượng cơ bản như hình hộp, hình cầu, hình nón Ta có thể
sử dụng phương pháp lập trình, sử dụng bộ thư viện chuyên về 3D (vd OpenGL ) để số hóa chúng với những tập lệnh cơ bản
Chúng ta có thể nhìn thấy trên hình vẽ là hình hộp và hình cầu: sau khi
đã được gán texture (kết cấu) đã tạo ra được một vật là hộp gỗ và trái đất
Trang 231.3.2 Một số cách tiếp cận tạo mô hình 3D
1.3.2.1 Phương pháp tạo mô hình bằng thiết kế dựa trên phần mềm 3D
Tùy theo kĩ thuật và kinh nghiệm làm việc mỗi cá nhân có thể đưa cho mình những phương pháp khác nhau để đi vào thiết kế, hay xây dựng một sản phẩm Cách mà người ta làm ra nó sẽ ảnh hưởng bởi nhân tố thời gian và lượng chất xám phải đầu tư vào Để tạo ra cùng 1 sản phẩm sẽ có nhiều con đường cho ta lựa chọn, đi bằng cách nào cho hợp lí, tối ưu nhất, tiết kiệm thời gian và công sức nhất Tôi xin trình bày 3 phương pháp dưới đây:
Phương pháp thiết kế đi từ tổng thể đến chi tiết
Các vật thể hữu hình trong cuộc sống của chúng ta hầu hết được cấu tạo nên từ những hình khối cơ bản, cũng như vậy trong phần mềm mô phỏng 3DS Max đã cung cấp cho chúng ta các hình khối đó để thể hiện các đối tượng trong không gian 3 chiều: khối cầu, khối trụ, khối hộp
Để vẽ được các dạng khối cơ bản này trên bảng lệnh Command Panel chọn Creat sau đó chọn Geometry (dạng hình học) phần mềm sẽ xổ xuống
cho ta một danh sách các Object Type : Box, Sphere, Cylinder, Torus, Teapot, Cone, Tube, Plane v.v
Trang 24 Select and Move (công cụ di chuyển)
Dùng để chọn và di chuyển đối tượng theo trục x, y hoặc z Khi đã chọn được đối tượng thì giữ trái chuột và rê chuột tới vị trí mới theo trục x, y,
z hoặc theo cả 3 hướng Nếu muốn chính xác thì cần phải gọi hộp thoại Move Transform Type - In sau đó nhập các giá trị tương ứng Để hiện hộp thoại này thì click chuột phải ngay trên nút Select and Move
Trang 25Hình 1.13 Công cụ Select and Move trong thiết kế
Select and Rotate (công cụ xoay)
Dùng để chọn và xoay đối tượng, thao tác tương tự như với Select and Move Nếu muốn quay đối tượng với độ chính xác cao thì cần phải gọi hộp thoại Rotate Transform Type - In bằng cách click phải chuột ngay trên nút Rotate and Move sau đó nhập vào giá trị tương ứng
Select and Uniform Scale (công cụ thu, phóng)
Dùng để chọn và thay đổi kích thước đều trên bề mặt của đối tượng hoặc thay đổi kích thước không đều trên bề mặt của đối tượng
Ngoài ra còn có chế độ hiệu chỉnh nâng cao Editable Poly
Đây là cách thường dùng để tạo hình trong 3ds max, ngoài Editable Poly bạn còn gặp Editable Mesh, Editable Pactch, NURBS Để sử dụng được chế độ này bạn cần phải chuyển đổi những hình khối cơ bản trở thành những khối có khả năng chỉnh sửa được
Cách làm: bạn chọn vật thể cần chuyển đổi, click phải chuột chọn Convert To: -> chọn chế độ cần chuyển đổi, ở đây tôi nói đến chế độ Editable Poly,
phần mềm sẽ hiện giao diện như sau:
Trang 26 Phương pháp thiết kế đi từ chi tiết đến tổng thể
Ngược lại với phương pháp trên, để bắt tay vào xây dựng vật thể theo phương pháp này ta sẽ phải chuẩn bị ảnh hình chiếu của vật thể thường là hình chiếu mặt trước và hình chiếu mặt trái hoặc hình chiếu mặt phải Ưu điểm của phương pháp này là độ chính xác cao hơn phương pháp trên, ở trên việc tạo ra vật thể hoàn toàn do khả năng quan sát trong không gian và cảm tính, ướm chừng của người thực hiện Còn ở phương pháp này ta có thể tạo chính xác hoàn toàn chi tiết khi có cơ sở dữ liệu ảnh đầy đủ, tuy nhiên làm theo phương pháp này cần nhiều thời gian và độ tỉ mỉ hơn Vì thế tùy theo yêu cầu của sản phẩm mà ta chọn cho mình một phương pháp phù hợp
Trang 27Ở đây cũng chia làm 2 cách như sau:
Cách 1: Tạo hai tấm Plane mặt chiếu đứng và chiếu cạnh, tạo hình khối
cơ bản để đối chiếu hiệu chỉnh theo
Hình 1.15 Hai tấm plance chiếu đứng và cạnh (cách 1)
Cách 2: Cũng tạo hai tấm Plane mặt chiếu đứng và chiếu cạnh,
nhưng thay vào đó không tạo hình khối đối chiếu mà dùng đường Line đồ theo 2 mặt chiếu
Hình 1.16 Hai tấm plance chiếu đứng và cạnh (cách 2)
Trang 28 Phương pháp thiết kế phối hợp
Tận dụng hiệu quả của từng phương pháp, cách tốt nhất cho công việc của chúng ta là sử dụng linh hoạt kết hợp các phương pháp Vì khách quan mà nói mọi vật thể trong cuộc sống đều tương đối phức tạp, bằng khả năng phân tích tốt cùng với sự linh hoạt công việc thiết kế xây dựng của các nhà mô phỏng sẽ được thực hiện dễ dàng và nhanh chóng, hiệu quả hơn Một số thành phần ta
dùng phương pháp hiệu chỉnh từ khối, một số thành phần thì dùng Line vẽ
thêm và hiệu chỉnh
1.3.2.2.Tạo mô hình bằng máy quét 3D
Bên cạnh việc tạo mô hình bằng phương pháp thiết kế sử dụng con người, hiện nay chúng ta có thể tạo ra các mô hình từ các thiết bị phần cứng là máy quét 3D Có nhiều các thiết bị phần cứng khác nhau hiện đang lưu hành trên thị trường Dưới đây là mộ số thiết bị được sử dụng để quét và tạo ra mô hình 3D
Artec Eva là lựa chọn lý tưởng để tạo một mô hình 3D nhanh, kết cấu
chính xác của các đối tượng có kích thước trung bình như một bức tượng người bán thân, một bánh xe hợp kim hoặc một hệ thống ống xả xe máy Nó quét nhanh với độ phân giải cao, màu sắc sống động cho phép các ứng dụng gần như không giới hạn
Ánh sáng, sự nhanh nhạy và linh hoạt, đó là máy quét Artec phổ biến nhất và là một dòng máy quét 3D cầm tay dẫn đầu trên thị trường
Với việc dễ dàng sử dụng, tốc độ và sự chính xác cao, Artec Eva là sản phẩm thiết yếu cho hàng loạt các ngành công nghiệp Từ tạo mẫu nhanh cho đến kiểm tra chất lượng, CGI cho đến bảo tồn di sản, ngành công nghiệp ô tô cho đến pháp y, y học và các bộ phận giả cho đến hàng không vũ trụ, Artec Eva được sử dụng để tùy chỉnh, cải tiến và sắp xếp vô số các ngành công nghiệp tư tưởng tiên tiến Artec Eva thậm chí được sử dụng để quét tổng
Trang 29thống Barack Obama và tạo nên bức chân dung 3D đầu tiên của một tổng thống Mỹ
Hình 1.17 Tổng thống Mỹ Obama và hình ảnh 3D của ông thu được
từ máy quét
TTO - Sense 3D Scanner là loại máy quét vật thể 3 chiều cầm tay
được công ty 3D System giới thiệu ngày 8-11 với mức giá bình dân 399 USD
Trang 30Hình 1.18 Máy quét TTO - Sense 3D
Sense 3D Scanner nhỏ gọn, vận hành tự động kèm theo phần mềm hiệu chỉnh, giúp người dùng tạo ra các hình mẫu 3 chiều (3D) của vật thể bằng cách quét bất cứ cái gì kể cả con người mà không tốn nhiều thời gian lẫn kỹ thuật đồ họa trên máy tính
Khi muốn quét một vật thể, dù là nhỏ, vừa hay lớn, người dùng đi vòng quanh quét vật thể qua Sense Ảnh 3 chiều vật thể sẽ được thiết bị tạo dựng,
Trước đó trong tháng 10, công ty hàng đầu trong lĩnh vực công nghệ in 3D MakerBot đã phát hành ra thị trường máy quét 3D (scanner) Digitizer với giá tham khảo 1.500 USD Theo MakerBot, Digitizer có đối tượng khách hàng rất rộng, từ kiến trúc sư, nhà thiết kế, giáo dục
Hình 1.19 Máy quét Digitizer
Trang 31"Digitizer có thể chụp đủ các điểm để tạo ra khoảng 200.000 tam giác cho mỗi mô hình 3D mới, chụp các chi tiết nhỏ 0,5mm, các bề mặt có độ sâu
0,5mm "
Trang 32CHƯƠNG 2: MỘT SỐ KỸ THUẬT MÔ HÌNH HÓA 3D
2.1 Kỹ thuật mô hình hóa 3D dựa trên lưới đa giác
2.1.1 Bề mặt đa giác
Lưới đa giác là một tập các đa giác được kết nối lại với nhau để tạo nên các bề mặt đối tượng Ưu điểm chính của phương pháp này đó là biểu diễn được mọi bề mặt của đối tượng
Các đối tượng nguyên thuỷ của polygon bao gồm: Hình tròn, hình chóp, hình cầu, hình hộp, hình trụ và mặt phẳng
Lý do sử dụng lưới đa giác là: Dễ biểu diễn (tập hợp các đỉnh), ít thuộc tính, dễ biến đổi, dễ hiển thị
Mô hình bề mặt (Surface modeling) là một lĩnh vực rộng lớn, thu hút
nhiều sự quan tâm của các nhà khoa học, hiện có ba cách biểu diễn bề mặt ba
chiều phổ biến đó là: Bề mặt lưới đa giác (polygon mesh surface), bề mặt Tham số (parametric surface) và bề mặt Bậc hai (quadric surface)
Như vậy, ta thấy rằng, bề mặt đóng vai trò quan trọng trong các mô hình hình học Trong phần này nghiên cứu một vài bề mặt quan trọng sử dụng
để biểu diễn đối tượng trong thế giới thực bằng việc tiếp cận biểu diễn bao
đóng (boulldary representationl (B-reps)), mô tả một đối tượng 3D (Dimension _chiều) như là tập hợp của các bề mặt tách đối tượng từ môi
trường
Một bề mặt đa giác (polygon surface hoặc polygon mesh) là tập hợp
các cạnh, đỉnh và sự kết nối các đa giác sao cho mỗi cạnh là cạnh chung của nhiều nhất hai đa giác Một cạnh nối hai đỉnh, một đa giác được tạo bởi một chuỗi khép kín của các cạnh Một cạnh có thể là cạnh chung của hai đa giác, một đỉnh là đỉnh chung của ít nhất hai cạnh, tất cả các cạnh đều là một phần của một vài đa giác Một lưới đa giác có thể được biểu diễn theo một vài cách khác nhau, mỗi cách đều có ưu và nhược điểm riêng Nhiệm vụ của người lập
Trang 33trình là chọn ra cách biểu diễn tốt nhất trong trường hợp cụ thể Một vài cách biểu diễn có thể được sử dụng trong một chương trình ứng dụng: một cách cho lưu trữ ngoài, một cách cho việc sử dụng bên trong và một cách khác cho người sử dụng tương tác tạo ra lưới
Hai tiêu thức cơ bản: không gian và thời gian, được sử dụng để đánh giá các cách biểu diễn khác nhau Các thao tác đặc trưng trên một lưới đa giác
là tìm ra tất cả các cạnh chung gắn với một đỉnh, xác định các đa giác có chung cạnh hoặc chung đỉnh, xác định các đỉnh nối cho một cạnh, xác định các cạnh của một đa giác, biểu diễn lưới, nhận dạng các lỗi khi biểu diễn
(chẳng hạn thiếu một cạnh, đỉnh, hoặc đa giác) Nói chung mối quan hệ giữa
các đa giác, đỉnh, và các cạnh càng được biểu diễn rõ ràng thì các thao tác sẽ được thực hiện nhanh hơn nhưng lại đòi hỏi nhiều không gian hơn
2.1.2 Biểu diễn lưới đa giác
Ba cách biểu diễn lưới đa giác được xét ở đây là : biểu diễn theo hàm
hiện, con trỏ tới danh sách các đỉnh và con trỏ tới danh sách các cạnh (Foley
et al 1994)
Trong cách biểu diễn theo hàm hiện (explicit representation), mỗi một
đa giác được biểu diễn bởi danh sách tọa độ của các đỉnh:
P = ( (x1, y1, z1),(x2, y2, z2), , (xn, yn ,zn))
Các đỉnh được lưu theo thứ tự mà ta sẽ gặp chúng khi đi một vòng quanh đa giác Có các cạnh giữa các đỉnh trong danh sách và giữa đỉnh đầu và cuối Với một đa giác đơn, cách biểu diễn này hiệu quả về không gian; với một lưới đa giác sẽ tốn nhiều không gian hơn vì toạ độ của các đỉnh chung được liệt kê hai lần
Vấn đề là không có cách biểu diễn theo hàm hiện cho các cạnh chung
và các đỉnh chung Chẳng hạn, để di chuyển một đỉnh mà tất cả các cạnh nối với đỉnh đó đều phải biến đối theo, ta phải xác định tất cả các đa giác có
Trang 34chung đỉnh đó Việc tìm kiếm này đòi hỏi phải so sánh ba tọa độ của một đỉnh một đa giác với các đa giác khác Cách làm hiệu quả nhất là sắp xếp N cặp toạ
độ, nhưng quá trình này tốn N log2N, và có thể nguy hiểm vì một đỉnh có thể
sẽ có toạ độ khác đi do quá trình làm tròn Đo đó sẽ không thể thực hiện chính xác được Trong phương pháp này, lưới đa giác được biểu diễn dưới dạng tô màu đa giác hoặc vẽ đường nét bên ngoài cần phải được chuyển đổi các đỉnh
và cắt các cạnh của mỗi đa giác Mỗi cạnh chung sẽ được vẽ hai lần Đó chính
là nguyên nhân vẽ lại trong bút vẽ, thiết bị ghi phim, và các hệ hiển thị vector
và raster
Đa giác được xác định theo con trỏ tới danh sách các đỉnh (pointers to
a vertex list), mỗi đỉnh của lưới đa giác được lưu chỉ một lần trong danh sách
các đỉnh V = ((x1, y1 z1),(x2, y2 z2), , (xn, yn zn))
Một đa giác được xác định bởi danh sách các chỉ số (hoặc các con trỏ)
tới danh sách các đỉnh Chẳng hạn, một đa giác có các đỉnh là 3, 5, 7 và 10 thì danh sách các đỉnh được biểu diễn là P = (3, 5, 7, 10)
Hình 2.1 Lưới đa giác xác định bằng các chỉ số trong danh sách
Một ví dụ của cách biểu diễn này được chỉ ra trong hình 2.2 có một vài
ưu điểm hơn so với cách biểu diễn đa giác theo hàm hiện Mỗi một đỉnh chỉ được lưu một lần, như vậy tiết kiệm được không gian Hơn nữa, tọa độ của các đỉnh có thể được thay đổi một cách dễ dàng Tuy nhiên, vẫn khó khăn để xác định các đa giác có chung cạnh; các đa giác có chung cạnh vẫn được vẽ
Trang 35hai lần cạnh chung đó Ta có thể giải quyết các vấn đề này bằng cách biểu diễn các cạnh theo hàm hiện, như trong phương pháp sau:
Khi một đa giác được xác định bởi con trỏ tới danh sách các cạnh
(pointers to all edge list), ta có danh sách các cạnh V Trong phương pháp
này, biểu diễn đa giác theo danh sách các con trỏ nhưng không phải trỏ tới danh sách các đỉnh mà là trỏ tới danh sách các cạnh, mỗi cạnh đúng một lần Mỗi một cạnh trong danh sách các cạnh trỏ tới hai đỉnh trong danh sách các đỉnh để xác định một cạnh, và một hoặc hai đa giác mà cạnh đó thuộc về
Như vậy, mô tả đa giác dưới đạng P = (El , , En) và một cạnh được
mô tả : E = (Vl ,V2 ,P1 ,P2) Khi một cạnh chỉ thuộc vào một đa giác, P1 hoặc P2 sẽ là rỗng Hình 2.2 cho ta ví dụ về cách biểu diễn này
V = (V1, V2, V3, V4) = ((x1,y2,z1),
, (x4, y4, z4))
E1 = (V1, V2, P1, λ) E2 = (V2, V3, P2, λ) E3 = (V3, V4, P2, λ) E4 = (V4, V2, P1, P2) E5 = (V4, V1, P1, λ)
P1 = (E1, E4, E5) P2 = (E2, E3, E4)
Hình 2.2 Lưới đa giác xác định bởi danh sách các cạnh cho mỗi đa giác ( λ
biểu diễn giá trị rỗng)
Khi biểu diễn đa giác bởi các cạnh thay bằng cách biểu diễn tất cả các
đa giác thì tránh được các phép cắt, chuyển đổi và chuyển đổi phân hình Việc
tô màu đa giác cũng được thực hiện dễ dàng Trong một vài trường hợp khi
mô tả cấu trúc của một đối tượng dạng tổ ong 3D, một số cạnh sẽ là cạnh