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
Trang 1N G U Y Ễ N T H Ị 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 2LUẬ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ănnhư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ốtthời gian theo học tại trường Quý thầy cô đã giúp tôi có được những kiếnthức quan trọng trong lĩnh vực Công nghệ thông tin, là nền tảng vững chắccho 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 trongthờ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ănnà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ủaPGS.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ảnthâ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
Nguyễn Thị Hằng
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ò quantrọ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ốcphò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ượng3D (3 chiều) là vô cùng quan trọng, vì các đối tượng 3D giúp cho thế giớitrong thực tại ảo giống với thực tế hơn đáp ứng được các nhu cầu khắt khecủ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ộtphầ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ớicá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ắctoá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 trongmộ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áptạo mô hình đều mang những ưu, nhược điểm khác nhau Tuy nhiên cácphương pháp này chỉ cho phép người sử dụng thiết kế mô hình, lập trình giacô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áitạ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ủaviệ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ờirú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 độngcủ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ươngnộ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ửatrong 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ềukhiể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ặcmột thế giới theo tưởng tượng của con người Nó cho phép người dùng thôngqua các thiết bị ngoại vi và bộ chuyển đổi tương tác các sự kiện, hành độngcủ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ànhcác tương tác vào môi trường ảo, đồng thời môi trường cũng chuyển nhữngtá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ậptới thuật ngữ thế giới ảo (Virtual World) Thực chất đây là hai khái niệmtươ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ữngngườ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ôngtin đ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ỏithờ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ắntrự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ônggian 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ócquay 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ựctại ảo còn có BOOM và CAVE BOOM (Binocular Omni-orientationMonitor) 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ànhì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ịchchuyể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ìncủ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ộtlượ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ựctiếp bộ nhớ và điều khiển bộ tăng tốc đồ họa Hiện nay một số chuẩn phầnmề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ềunê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ặttrong 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ếntrú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ớithực của công nghệ thực tại ảo dường như đáp ứng một cách đầy đủ, trựcquan 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ấucông trình, vật liệu, ánh sáng, cho phép khách hàng, nhà đầu tư tự do thamquan, 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 chongành sản xuất thiết bị cơ khí, mà công đoạn thiết kế mô hình có vai trò quantrọ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áchtrự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ôngnghệ, 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 2007trở 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ứngmá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ấtcũ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éptạ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 ảotí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 sovới các công nghệ đa phương tiện truyền thống khác Ví dụ: lái xe đạp tươngtá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ươngtá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 ảocũ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ăngnghiệ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ụ vachạm, tính toán khác trong xã hội thì ngày càng nhiều các thí nghiệm đượcthự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ướclà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ệmquan 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ìncuộ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ũngkhô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ủahọ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ácgiả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ôngnghệ 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ôngnghệ Thực tại ảo Cho đến nay, lĩnh vực nổi bật trong y học áp dụng thànhcô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 đàotạ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ẫuthông qua các dụng cụ giải phẫu ảo; Khối giao diện người dùng hai chiềucung cấp những thông tin phản hồi trực quan từ mô hình trong quá trình giảiphẫ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 sovới các phương pháp truyền thống như thực hành trên mô hình plastic haytrê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ọcmộ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 quamộ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ệnhnhâ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àmgiả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êntụ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ệnhnhân thật do đó làm tăng mức độ an toàn và hiệu quả điều trị, giảm thiểu sailầ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ạnghình học 3D Đồ hoạ 3D hỗ trợ rất nhiều các dang hình học cơ bản đến phứctap 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ầnkhá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ànhphầ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ácnhau, mỗi môt Shape sẽ liên kết các thành phần hình hoc (geometry) vớinhữ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 00), có bán kính quy định qua thuộc tính radius và chiều qua quy định quatrườ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ộtdòng đơn giản thẳng qua điểm nơi cố định điểm duy trì bởi những khúc cuahẹ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ủamộ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ôicủa nó từ một điểm cố định Một khoảng cách không đổi, điểm cố định đượcgọ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 (vdOpenGL ) để 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 chomình những phương pháp khác nhau để đi vào thiết kế, hay xây dựng một sảnphẩ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ờigian 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ạonên từ những hình khối cơ bản, cũng như vậy trong phần mềm mô phỏng 3DSMax đã cung cấp cho chúng ta các hình khối đó để thể hiện các đối tượngtrong 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 MoveTransform Type - In sau đó nhập các giá trị tương ứng Để hiện hộp thoại nàythì 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 andMove Nếu muốn quay đối tượng với độ chính xác cao thì cần phải gọi hộpthoại Rotate Transform Type - In bằng cách click phải chuột ngay trên nútRotate 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ượnghoặ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 EditablePoly bạn còn gặp Editable Mesh, Editable Pactch, NURBS Để sử dụng đượcchế độ này bạn cần phải chuyển đổi những hình khối cơ bản trở thành nhữngkhố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ể theophươ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ênviệc tạo ra vật thể hoàn toàn do khả năng quan sát trong không gian và cảmtính, ướm chừng của người thực hiện Còn ở phương pháp này ta có thể tạochính xác hoàn toàn chi tiết khi có cơ sở dữ liệu ảnh đầy đủ, tuy nhiên làmtheo phương pháp này cần nhiều thời gian và độ tỉ mỉ hơn Vì thế tùy theo yêucầ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ủachú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óimọ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íchtố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 conngườ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ànhtrê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ượngngườ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ụnggầ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ếnnhấ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ảnphẩ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ụ, ArtecEva được sử dụng để tùy chỉnh, cải tiến và sắp xếp vô số các ngành côngnghiệ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ổngthố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ệuchỉ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ằngcá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òngquanh 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ệ in3D MakerBot đã phát hành ra thị trường máy quét 3D (scanner) Digitizer vớigiá tham khảo 1.500 USD Theo MakerBot, Digitizer có đối tượng kháchhà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êncá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ìnhchó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ộctí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ủanhiề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ộtchuỗ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ầncủ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áchkhá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áchbiểu diễn có thể được sử dụng trong một chương trình ứng dụng: một cáchcho 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 chongườ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 để đánhgiá 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 địnhcá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òngquanh đ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ớimộ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ốivớ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 đỉnhmộ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ínhxá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ủacá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ểudiễ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ớidanh 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
Trang 36chung của hai đa giác Trong trường hợp này, khi mô tả một cạnh có thể mở
rộng ra bao gồm một số đa giác: E = (Vl , V2 , P1 , P2 , Pn).
Trong ba cách biểu diễn này (đa giác theo hàm hìện, con trỏ tới danh
sách các đỉnh, con trỏ tới danh sách các cạnh) không dễ dàng xác định xem
những cạnh nào trùng với một đỉnh; tất cả các cạnh đều phải được kiểm tra
Hình 2.3 Biểu diễn mặt cầu bằng lưới đa giác
Tất nhiên, các thông tin có thể được thêm vào để xác định các mối quan
hệ Khi biểu diễn dữ liệu cho bề mặt lưới đa giác hoặc cho một vật thể ba
chiều nói chung trong máy tính, nên nhập dữ liệu thành một file riêng Điều
này rất tiện lợi khi ta muốn thay đổi vật thể thì chỉ cần thay đổi dữ liệu ở file
riêng này Ngoài ra, cách tổ chức dữ liệu thành file riêng này còn giảm được
bộ nhớ cho chương trình và thực hiện rất tốt với cả vật thể phức tạp Trong
CAD, các fìle này đã có định dạng sẵn.
Phương trình mặt phẳng
Khi làm việc với nhiều đa giác hoặc lưới đa giác, ta thường cần phảibiết tới phương trình của mặt phẳng chứa đa giác đó Trong một vài trườnghợp, các phương trình này được biết theo hàm ẩn qua phương pháp xác định
đa giác Nếu không biết được phương trình, ta có thể sử dụng toạ độ của bađỉnh để xác định mặt phẳng
Trang 37Phương trình hàm ẩn
Phương trình mặt phẳng có thể được biểu diễn theo dạng sau:
F(x, y, z) = Ax + By + Cz + D = 0 (2.l )Trong đó (x,y,z) xác định một điểm tuỳ ý trong mặt phẳng, các hệ số A, B, C
và D là các hằng số mô tả đặc điểm không gian của mặt phẳng
Cho ba điểm không thẳng hàng Pl , P2 , P3 , trong mặt phẳng ta có thểxác định các giá trị A, B, C và D bằng cách giải hệ phương trình tuyến tínhsau:
Mặt phẳng của phương trình (2.1) chia không gian 3 chiều thành haiphần riêng biệt, một bên chứa các điểm có toạ độ (x,y,z) mà F(x,y,z) > 0 vàphần còn lại chứa các điểm có toạ độ (x,y,z) mà F(x.y,z) < 0
Để xác định dấu của một phần mặt phẳng, người ta thường chọn các
điểm đặc biệt (thường là gốc = (0,0,0) nếu nó không nằm trong mặt phẳng)
và thay thế toạ độ vào F(x,y,z) Chẳng hạn, mặt phẳng 2x-3y+5z+7 = 0 chiakhông gian 3D thành hai phần Phần mặt phẳng chứa điểm gốc tọa độ
O(0,0,0) sẽ chứa tất cả các điểm (x,y,z) có F(x,y,z) > 0
Hướng của mặt phẳng có thể được mô tả bởi pháp tuyến của mặt phẳng Ta
tính được bằng tích của các vector P1P2 x PlP3 (hoặc P2P3 x P2P1 , v.v ).
Vector pháp tuyến này có ba thành phần A, B, C xác định bởi phươngtrình (2.3), nếu tích vector này là 0, ba điểm này thẳng hàng và không xácđịnh được mặt phẳng Nếu có thể được, ta dùng đỉnh khác để thay thế
Trang 38Cho một tích các vector khác 0, ta có thể xác định D bằng cách thay thế
pháp tuyến [A, B, C] và một trong ba điểm vào phương trình (2.l ).
Khi đã xác định được phương trình của mặt phẳng bằng cách sử dụngtoạ độ của tất cả các đỉnh, ta có thể đánh giá sự không đồng phẳng của đa giác
bằng cách tính các khoảng cách từ mặt phẳng tới mỗi đỉnh Khoảng cách d tới
đỉnh có toạ độ (x,y,z) là :
Trang 39d x B y C A2 B2 z D C 2 (2.4)Khoảng cách này có thể dương hoặc âm, tuỳ thuộc vào vị trí của điểm
đó đối vị trí mặt phẳng Nếu đỉnh ở trên mặt phẳng thì d = 0 Tất nhiên, nếu
chỉ để xác định xem điểm đó nằm ở phía bên nào đối với mặt phẳng, ta chỉ
cần xét dấu của d, như vậy việc chia cho căn là không cần thiết và ta chỉ cần
chú ý đến dấu biểu thức tử số của phương trình (2.4)
Ta cũng thấy rằng, phương trình của mặt phẳng là không duy nhất; khi nhân
thêm với hằng số k sẽ làm thay đổi phương trình, nhưng không làm thay đổi
mặt phẳng Tốt nhất là nên lưu trữ các hệ số của mặt phẳng với pháp tuyếncủa nó; chẳng hạn có thể lưu nghịch đảo của độ dài của vector pháp tuyến
thực u và v sao cho:
P 1 P = u P 1 P 2 + v P 1 P 3
Như vậy :
x-x 1 =u(x 2 -x 1 )+v(x 3 -x 1 )