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

Biểu diễn mô hình 3d bằng kỹ thuật NURBS trong máy tính

73 369 1

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 73
Dung lượng 4,31 MB

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

Nội dung

Chúng ta có thể kể đến cả các lĩnh vực như: các hệ chuyên gia, các hệ xử lý thời gian thực … Hiện nay, đồ họa máy tính đang là một lĩnh vực hết sức lý thú và được ứng dụng rất nhiều tron

Trang 2

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 - 2016

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân tôi, kết quả của luận văn hoàn toàn là kết quả của tự bản thân tôi tìm hiểu, nghiên

cứu dưới sự hướng dẫn của giáo viên hướng dẫn PGS.TS Đỗ Năng Toàn

Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa học của luận văn này

Thái Nguyên, tháng 4 năm 2016

HỌC VIÊN

Mai Thị Bính

Trang 4

Học viên cũng xin gửi lời cảm ơn tới Ban giám hiệu trường Trung cấp Kinh tế Kỹ thuật Lạng sơn đã tạo điều kiện thuận lợi cho học viên tham gia khóa học vào quá trình hoàn thành luận văn

Và học viên cũng xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn bè những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để học viên có được kết quả như ngày hôm nay

Thái Nguyên,10 tháng 4 năm 2016

Học viên

Mai Thị Bính

Trang 5

MỤC LỤC

MỞ ĐẦU 1

Lý do chọn đề tài 1

CHƯƠNG 1 KHÁI QUÁT VỀ ĐỐI TƯỢNG 3D 3

VÀ BÀI TOÁN BIỂU DIỄN NURBS 3

1.1 Khái quát về đối tượng 3D 3

1.1.1 Một số khái niệm về đồ họa 3D 3

1.1.2 Khái niệm về một số chi tiết trong mô hình 7

1.1.2.1 Các điểm (Points) 7

1.1.2.2 Các đường cong(Curves) 8

1.1.2.3 Các Surface 11

1.1.2.4 Mô hình 3D 12

1.1.2.5 Tổng quan về mô hình hóa 13

1.1.2.6 Hệ tọa độ trong không gian 3 chiều 13

1.1.2.7 Quá trình xử lý hiển thị trong đồ họa 3D 15

1.2 Biểu diễn đối tượng 3D 15

1.2.1 Biểu diễn mặt lưới 3D 16

1.2.2 Biểu diễn bề mặt trơn tham số 17

1.2.3 Đường cong tham số NURBS 17

1.2.4.Thư viện xử lý đồ họa OpenGL 20

1.3 Kết luận chương 21

CHƯƠNG 2 22

MỘT SỐ VẤN ĐỀ TRONG BIỂU DIỄN 22

MÔ HÌNH 3D BỞI KỸ THUẬT NURBS 22

2.1 Đường cong tham số NURBS 22

2.1.1 Đường cong – CURVE 22

2.1.2 Điểm biểu diễn đường cong (curve represents points ) 22

2.1.3 Đường cong đa thức bậc ba tham biến 23

2.1.4 Đường cong Hermite 24

Trang 6

2.1.5 Đường cong Bezier 26

2.1.6 Đường cong B-Splines 29

2.1.6.1 Đường cong bậc ba Splines 29

2.6.1.2 Đường B-Spline 33

2.1.7 Đường cong tham số NURBS 38

2.2 Bề mặt NURBS 40

2.2.1 Mô hình bề mặt (Surface) và các phương pháp xây dựng 40

2.2.1.1 Các khái niệm cơ bản 40

2.2.1.2 Biểu diễn mảnh tứ giác 40

2.2.1.3 Tam giác – Triangular 42

2.2.2 Mặt từ các đường cong 43

2.2.2.1 Mặt cong bậc ba Hermite 43

2.2.2.2 Mặt cong Bezier 45

2.2.2.3 Mặt cong B-spline 48

2.2.2.4 Bề mặt NURBS 49

2.2.2.5 Thuật toán NURBS biểu diễn bề mặt 50

CHƯƠNG 3 CHƯƠNG TRÌNH THỰC NGHIỆM 52

3.1 Bài toán 52

3.2 Phân tích lựa chọn công cụ 53

3.3 Một số kết quả của chương trình 55

PHẦN KẾT LUẬN 62

TÀI LIỆU THAM KHẢO 63

Trang 7

DANH MỤC HÌNH ẢNH

Hình 1.1 Minh hoạ tham số của đường cong tại một điểm 9

Hình 1.2 Normal 10

Hình 1.3 Các thành phần chính của một đường cong 11

Hình 1.4 Một cảnh biểu diễn đối tượng 3 chiều 12

Hình 1.5 Hệ tọa độ Descartes ba chiều với trục y 14

có chiều chạy xa người quan sát 14

Hình 1.6 Hệ tọa độ Descartes ba chiều với trục x 14

có chiều chạy về phía người quan sát 14

Hình 1.7 Quá trình xử lý và hiển thị 3D 15

Hình 1.8 Biểu diễn các đường cong và mặt cong 16

Hình 1.9 Lưới tam giác và lưới tứ giác 17

Hình 1.10 Biểu diễn mặt đa giác 17

Hình 1.11 Minh hoạ tiến trình dựng một chiếc cốc đơn giản bằng NURBS 18 Hình 2.1 Đường cong đa thức bậc ba 23

Hình 2.2 Đường cong Hermite 24

Hình 2.3 Đường cong Hermite 26

Hình 2.4 Đường cong Bezier 27

Hình 2.5 Hàm hợp của đường cong Bezier 27

Hình 2.6 Kết nối hai đường cong 30

Hình 2.7 Phân đoạn của đường cong Spline – Hermite 31

Hình 2.8 Đường cong B-spline 35

Hình 2.9 Biểu diễn mảng tứ giác 41

Hình 2.10 Kết nối mảng tứ giác 41

Hình 2.11.Mảnh tam giác 42

Hình 2.12 Mặt cong Hermite và các điểm dữ liệu 44

Trang 8

Hình 2.13 Mặt cong Bezier 45

Hình 2.14 Nối hai mảnh Bezier bậc ba 47

Hình 2.15 Bề mặt NURBS 49

Hình 3.1 Biểu diễn mô hình bề mặt Nurbs 55

Hình 3.2 Biểu diễn mô hình bề mặt Nurbs 56

Hình 3.3 Biểu diễn mô hình bề mặt Nurbs 569

Trang 9

DANH MỤC TỪ VIẾT TẮT

1 2D Two- dimensional Không gian hai chiều

2 3D Three-dimensional Không gian ba chiều

3 CAD Computer-aided design thiết kế được sự hỗ trợ của

máy tính

4 CP Control point Một điểm điều khiển hình

dạng của một đối tượng

5 CPU Central Processing Unit Bộ xử lí trung tâm

6 CT Computed Tomography chụp quét cắt lớp điện toán

7 CV Control vertex

Một điểm mà điều khiển hình dạng của đường cong NURBS hay bề mặt

8 EP Edit point

Một điểm mà nằm trên đường cong là điểm nối của

đa thức biểu diễn đường cong

9 NURBS Non-Uniform Rational

B-spline

B-spline hữu tỉ không đồng đều

10 OPENGL Open Graphics Library

một tiêu chuẩn kỹ thuật đồ họa có mục đích định ra một giao diện lập trình ứng dụng (tiếng Anh: API)đồ họa 3 chiều

Trang 10

MỞ ĐẦU

1 Lý do chọn đề tài

Trong những năm gần đây công nghệ thông tin đã đạt được những bước phát triển nhảy vọt cả về phần cứng lẫn phần mềm Những ứng dụng của nó vào cuộc sống ngày càng phong phú, đa dạng và thiết thực hơn Từ các lĩnh vực cơ bản như khoa học cơ bản, kinh tế, kỹ thuật cho đến các lĩnh vực như giải trí, du lịch, không lĩnh vực nào không có sự ứng dụng thiết thực và hiệu quả của công nghệ thông tin Sự phát triển không ngừng của sức mạnh máy tính đã làm cho một số lĩnh vực khó phát triển trước kia nay đã có khả năng phát triển và đã đạt được những thành tựu đáng kể Chúng ta có thể kể đến cả các lĩnh vực như: các hệ chuyên gia, các hệ xử lý thời gian thực …

Hiện nay, đồ họa máy tính đang là một lĩnh vực hết sức lý thú và được ứng dụng rất nhiều trong cuộc sống, đặc biệt phương pháp mô hình hóa hình học các đối tượng 3 chiều dựa trên mặt cong NURBS đang được quan tâm nghiên cứu và triển khai trong đồ họa ba chiều Hơn thế, phương pháp này đang được ứng dụng để mô hình hóa các vật thể trong các hệ thống CAD/CAM

Các đường cong và các surface NURBS có rất nhiều các ứng dụng và được ưa dùng trong thiết kế công nghiệp và tự động Đây là những nơi các hình dạng trơn tru với lượng dữ liệu tối thiểu là yêu cầu đặt ra Các đường cong NURBS phát huy hiệu quả trong việc tạo ra đường chuyển động liên tục của một đối tượng được hoạt hoá Trong quá trình tìm hiểu và nghiên cứu về

đồ họa máy tính cùng cùng với gợi ý của thầy hướng dẫn học viên đã lựa chọn đề tài “Biểu diễn mô hình 3D bằng kỹ thuật NURBS trong máy tính”

2 Đối tượng và phạm vi nghiên cứu

+ Đối tượng:

- Mô hình đối tượng 3D;

Trang 11

- Kỹ thuật NURBS trong biểu diễn đối tượng 3D;

+ Phạm vi:

- Biễu diễn bởi kỹ thuật NURBS để biểu diễn đường cong và bề mặt

mô hình 3D trong máy tính

3 Ý nghĩa khoa học và thực tiễn của đề tài nghiên cứu:

- Hệ thống hóa kỹ thuật biểu diễn đối tượng 3D bởi đường cong NURBS và bề mặt NURBS

- Đề xuất hướng nghiên cứu hỗ trợ cho việc mô phỏng các đối tượng trong thế giới thực, mô phỏng hình học và đặc biệt trong thiết kế công nghiệp

và tự động như sản xuất các hình dáng bên ngoài của tầu, của ô tô, tầu ngầm

và máy bay … và còn thiết kế phông chữ cho các ngôn ngữ khác nhau,…

4 Phương pháp nghiên cứu

- Phương pháp nghiên cứu lý thuyết: Tìm hiểu, tổng hợp tài liệu, phân tích, đánh giá các phương pháp

- Phương pháp trao đổi khoa học, lấy ý kiến chuyên gia

- Phương pháp thực nghiệm: xây dựng chương trình cụ thể để thử nghiệm, phân tích, đánh giá kết quả đạt được

5 Luận văn gồm ba phần chính:

Chương 1 Khái quát về đối tượng 3D và bài toán biểu diễn NURBS Chương 2 Một số vấn đề trong biểu diễn mô hình 3D bởi kỹ thuật NURBS;

Chương 3 Chương trình thử nghiệm

Trang 12

CHƯƠNG 1 KHÁI QUÁT VỀ ĐỐI TƯỢNG 3D

VÀ BÀI TOÁN BIỂU DIỄN NURBS

Nội dung chính của chương sẽ trình bày những khái niệm cơ bản về đồ họa ba chiều theo định hướng của đề tài và các khái niệm biểu diễn mô hình 3D, biểu diễn đường cong và bề mặt

1.1 Khái quát về đối tượng 3D

1.1.1 Một số khái niệm về đồ họa 3D

Đồ họa máy tính là một lĩnh vực khoa học nghiên cứu về các thuật toán cũng như kĩ thuật cho phép tạo, hiển thị và điều khiển hình ảnh trên màn hình máy tính Đồ họa máy tính có liên quan đến đại số, hình học giải tích, hình học họa hình, quang học, kĩ thuật máy tính và chế tạo phần cứng (các loại màn hình, các thiết bị xuất, nhập, các vi mạch đồ họa )[1]

Hệ đồ họa bao giờ cũng có hai thành phần chính đó là phần cứng và phần mềm Phần cứng gồm thiết bị hiển thị và nhập dữ liệu, … Phần mềm gồm công cụ lập trình và các trình ứng dụng đồ họa Công cụ lập trình cung cấp tập các hàm đồ họa có thể được dùng trong các ngôn ngữ lập trình cấp cao như C, Pascal, Các hàm cơ sở của đồ hoạ bao gồm việc tạo đối tượng

cơ sở của hình ảnh như đoạn thẳng, đa giác, đường tròn, …, thay đổi màu sắc, chọn khung nhìn, áp dụng các phép biến đổi, …Ứng dụng đồ họa được thiết

kế cho những người dùng không phải là lập trình viên tạo được đối tượng, hình ảnh, … mà không cần quan tâm tới việc chúng được tạo ra như thế nào

Ví dụ như là Photoshop, AutoCAD, …

Việc thể hiện các đối tượng 3D trên máy tính là cần thiết vì phần lớn các đối tượng trong thế giới thực là đối tượng 3D còn thiết bị hiển thị chỉ hiển thị ảnh 2 chiều Do vậy muốn có hình ảnh 3 chiều ta cần phải giả lập Biểu diễn đối tượng 3D bằng máy tính phải tuân theo quy luật về phối

Trang 13

cảnh, ánh sáng, tối… giúp người xem nhìn thấy hình ảnh gần đúng nhất Chiến lược cơ bản là chuyển đổi từng bước Hình ảnh sẽ được hình thành ngày càng chi tiết hơn

Khi mô hình hóa và hiển thị một hình ảnh 3D chúng ta xét rất nhiều khía cạnh và các vấn đề khác nhau không đơn giản là thêm một tọa độ thứ 3 cho các đối tượng Bề mặt đối tượng có thể được xây dựng bởi nhiều tổ hợp khác nhau của mặt phẳng và mặt cong, đôi khi chúng ta còn mô tả một số thông tin bên trong đối tượng Khi biểu diễn đối tượng 3 chiều bằng máy tính ta cần quan tâm các vấn đề sau:

 Phương pháp biểu diễn

Có 2 phương pháp biểu diễn đối tượng 3 chiều là phương pháp biểu diễn bề mặt và biểu diễn theo phân hoạch không gian

Phương pháp biểu diễn bề mặt mô tả đối tượng bằng một tập hợp các

bề mặt giới hạn phần bên trong của đối tượng với môi trường bên ngoài Thông thường ta xấp xỉ các bề mặt phức tạp bởi các mảnh nhỏ hơn gọi là các patch (mặt vá) Các mảnh này có thể là các đa giác hoặc các mặt cong

Phương pháp phân hoạch không gian thường dùng để mô tả các thuộc tính bên trong đối tượng

 Các phép biến đổi hình học

Khi áp dụng một dãy các phép biến đổi hình học có thể tạo ra nhiều phiên bản của cùng một đối tượng Do đó có thể quan sát vật thể ở nhiều vị trí, nhiều góc độ khác nhau và cảm nhận về các hình ảnh vẽ ba chiều sẽ trực quan, sinh động hơn Các phép biến đổi thường được sử dụng là phép tịnh tiến, phép quy, phép biến dạng… được mô tả bằng các ma trận Ma trận của mỗi phép biến đổi có các dạng khác nhau

 Vấn đề chiếu sáng

Tác dụng của việc chiếu sáng là làm cho các đối tượng hiển thị trong

Trang 14

máy tính giống với vật thể trong thế giới thực Để thực hiện công việc này cần phải có các mô hình tạo sáng

Vật thể được chiếu sáng nhờ vào ánh sáng đến từ khắp mọi hướng gọi

là ánh sáng xung quanh (ambient light) hay ánh sáng nền (background light) Trên bề mặt có 2 loại hiệu ứng phát sáng là khuếch tán (diffuse light) - ánh sáng đi theo mọi hướng và phản xạ gương (specular light)

 Vấn đề tạo bóng

Để tạo bóng ta ứng dụng các mô hình xác định cường độ sáng theo nhiều kiểu khác nhau tùy thuộc bài toán cụ thể Các vật có bề mặt phẳng chỉ cần tính cường độ sáng chung cho một bề mặt là có thể hiển thị đối tượng tương đối thật Các vật có bề mặt cong phải tính cường độ sáng cho từng pixel trên bề mặt Để tăng tốc độ ta xấp xỉ các mặt cong bởi một tập hợp các mặt phẳng Với mỗi mặt phẳng sẽ áp dụng mô hình cường độ không đổi (flat shading) hoặc cường độ nội suy (Gouraud shading, Phong shading) để tạo bóng

Các ứng dụng cơ bản của đồ họa 3D

3D là công nghệ được xây dựng từ các phần mềm máy tính, giúp người

sử dụng có thể quan sát hình ảnh trong không gian ba chiều Ứng dụng của công nghệ này được sử dụng trong một số lĩnh vực đạt hiệu quả cao như Y học, xây dựng, kiến trúc, phim, trò chơi Tại Việt Nam công nghệ này chỉ mới được sử dụng phần lớn trong quảng cáo và kiến trúc

 Ứng dụng đồ hoạ 3D trong y tế

Ứng dụng công nghệ hình ảnh 3D thu hút sự chú ý của nhiều người trong lĩnh vực y học Nhiều bác sĩ cũng tận dụng công nghệ mới này phục vụ điều trị bệnh nhân giúp tăng độ chính xác và hiệu quả

Với phương pháp chụp cắt lớp điện toán (CT) hay chụp cộng hưởng từ (MRI) Bác sĩ phải theo dõi hình ảnh 2D trên màn hình, vừa phải tưởng tượng

Trang 15

hình ảnh trong không gian 3 chiều đã gặp không ít khó khăn Ứng dụng công nghệ hình ảnh 3D, bác sĩ nhìn được các hình ảnh 3 chiều rõ nét ngay lập tức

và tập trung hơn vào phẫu thuật

 Ứng dụng đồ hoạ 3D trong xây dựng kiến trúc

Đối với người thiết kế: có thể vẽ lên không gian 3 chiều, ứng dụng vật liệu thật vào không gian, phối trí và phân tích ánh sáng, thông gió hợp lý nhất cho công trình thiết kế xây dựng làm cho sự kết hợp giữa các yếu tố, bố trí các vật dụng trở nên hài hoà Tính toán tải trọng kết cấu chính xác nhất, đưa

ra giải pháp tiết kiệm vật tư và chi phí nhằm nâng cao năng lực cạnh tranh

Đối với người khách hàng: ứng dụng 3D trong kiến trúc làm cho người xem như đứng ngay trong không gian trong thực tế

 Ứng dụng đồ hoạ 3D trong phim, trò chơi

Công nghệ 3D trong phim ảnh đang là xu hướng phát triển của điện ảnh thế giới Ứng dụng tạo hình 3D mang đến cho người xem những trải nghiệm thực sự, những hình ảnh sống động và hấp dẫn Nó cũng được sử dụng để tạo các hiệu ứng phim và thực tại ảo, khán giả sẽ trải nghiệm những hành động,

cử chỉ sống động như thật Trong game, ứng dụng công nghệ 3D để xây dựng

mô hình, và chuyển động cho hình ảnh sắc nét giúp người chơi bao quát được toàn bộ góc nhìn với chất lượng hình ảnh tốt nhất và không bị gián đoạn

 Ứng dụng đồ hoạ 3D trong mô phỏng, đào tạo

Hệ thống phần mềm mô phỏng các thí nghiệm bằng hình ảnh minh họa sống động, giúp học sinh dễ nhận biết, tiếp thu và tạo sự hứng thú với môn học Cho phép học sinh, sinh viên được quan sát trực quan các mô hình cụ thể, thấy được những hoạt động, chuyển động của các sự vật, sự kiện được giảng viên trình bày Học sinh được hình dung một cách rõ ràng và đầy đủ các khái niệm về hình học không gian, địa lý vũ trụ, mô hình sinh học hoặc các khái niệm khó tưởng tượng ra trong thế giới hai chiều

Trang 16

 Ứng dụng đồ hoạ 3D trong lĩnh vực quốc phòng và an ninh

Những sản phẩm mô phỏng sẽ được áp dụng trong giảng dạy các môn khoa học như Giáo dục quốc phòng, quân sự Người học có thể quan sát chi tiết các hoạt động của các bộ phận cơ khí, quy trình hoạt động và tương tác, những hiện tượng xảy ra trong các hoạt động của vũ khí Công nghệ mô phỏng 3D mô tả chi tiết cụ thể hiện tượng bắn, quá trình chuyển vận của các

bộ phận trong tương tác sự vật, hiện tượng giúp cho học sinh dễ nhận biết, tiếp thu tạo sự hứng thú với môn học

Có thể nói các ứng dụng tiềm năng của công nghệ hình ảnh 3D là

vô hạn và để làm được điều đó ta phải biết cách biểu diễn mô hình 3D trong máy tính

1.1.2 Khái niệm về một số chi tiết trong mô hình

1.1.2.1 Các điểm (Points)

Trong dựng hình, có nhiều thuật ngữ để nói về điểm Mỗi một thuật ngữ lại được áp dụng trong các trường hợp khác nhau

- Control point (CP): Một điểm điều khiển hình dạng của một đối

tượng Ví dụ của CP là các điểm của NURBS (control vertices - CVs), các đỉnh của Polygon (polygonal vertices)

Một đối tượng phải có các điểm điều khiển để biến đổi hình dạng

- Control vertex (CV): Trong dựng hình, một điểm mà điều khiển hình

dạng của đường cong NURBS hay bề mặt thì gọi là control vertex

- Vertex: là một đỉnh Nhiều Vertex thì người ta sử dụng từ vertices

Nó là:

 Một điểm trong không gian 3D

 Trong dựng đa giác, nó là một góc giao của hai hoặc nhiều face của đa giác

- Edit point (EP): Trong dựng hình, một điểm mà nằm trên đường

Trang 17

cong mà là điểm nối của các đa thức biểu diễn đường cong thì được gọi là các Edit point

Thêm các EP đối với một đường cong không ảnh hưởng tới hình dạng của đường cong nhưng tạo ra thêm đoạn (segment) cho đường cong và thêm phần (span) cho bề mặt

EP còn được gọi là các knot

- Multi-knot và CV Multiplicity: Multi-knot là nhiều EP ở trong cùng

một vị trí trong không gian CV multiplicity là nhiều CV ở trong cùng một ví trí trong không gian

Multi-knot và CV muliplicity thường không được mong muốn Vì lý do: thứ nhất là làm tăng dung lượng, thứ hai là không có tác dụng gì cho đường cong và thứ 3 là nhiều công cụ sẽ không làm việc chính xác khi có chúng [2]

đường cong đó người ta gọi là edit points, còn mỗi đoạn đó người ta gọi là segment hay là span

Tuy nhiên không phải lúc nào các đường cong bậc cao cũng phải giảm

Trang 18

bớt bậc của nó đi Những đường cong bậc tầm 5 đến 7 có lợi là cho đường cong có vẻ trơn tru hơn và có độ căng Chúng thường được sử dụng trong

thiết kế tự động (automotive design)

Bậc của đường cong cũng xác định độ trơn của các điểm nối giữa các span:

 Đường bậc 1 (linear): các đường cong chỉ việc đặt ở các vị liên tiếp nhau

 Đường bậc 2 (squadratic): các đường cong đặt tiếp xúc với nhau

 Đường bậc 3 (cubic): các độ cong liên tiếp với nhau

- Bậc(degree): Đây là khái niệm để chỉ một span thì có bao nhiêu CV

 Đường bậc 1: là các EP đặt thẳng hàng

 Đường bậc 2: Có một phần cong giữa các EP

Các bề mặt thì có nhiều bậc theo chiều dài và chiều rộng Có thể chiều rộng bậc 3 nhưng chiều dài lại bậc 4

-Parameter (tham số): Các tham số là các giá trị bằng số duy nhất của các điểm (giống như là toạ độ) nằm trên đường cong hay surface

Hình 1.1 Minh hoạ tham số của đường cong tại một điểm

 Tham số mà càng lớn thì điểm nằm càng cao trên đường cong

 Đối với đường cong, cần một tham số xác định dọc theo chiều dài đường cong, đó là tham số U

 Đối với surface cần một tham số nữa để xác định theo bề rộng của surface, đó là tham số V

- Normal: Nó là đường trực giao tại một điểm nằm trên bề mặt hay

Trang 19

đường cong Nó dùng để xác định xem một mặt đang xét là mặt trong (inside) hay mặt ngoài (outside) của bề mặt

Hình 1.2 Normal

- Có thể chia đường cong thành 3 loại: khép kín, đóng, mở (periodic, closed, open)

 Khép kín: Có 2 phần đầu và cuối nằm gối lên nhau

 Đóng: Có 2 phần: đầu và cuối chung nhau tại một điểm

 Mở: Phần đầu và cuối không giao nhau

Đối với đường khép kín, khi dịch chuyển EP đầu thì EP cuối dịch theo Một số đường cong cơ bản là theo kiểu này

Đối với đường cong đóng, khi dịch chuyển EP thì tính đóng bị mất Nên tạo ra đường cong khép kín hơn là đường cong đóng

- Các thành phần của một đường cong:

 CV: Số CV trên một đoạn sẽ bằng bậc của đường cong tạo đoạn đó cộng với 1 Ví dụ như một đường cong bậc 3 thì cần đến 4 CV trên nó

 EP: CV và EP cho biết có bao nhiêu đoạn tạo ra đường cong đó

 Hull: khi vẽ một số đường cong thì có đường nối giữa các CV để thể hiện vết của hình đường cong, đó là hull

Trang 20

Hình 1.3 Các thành phần chính của một đường cong

Những thành phần này quyết định đến việc hiển thị của đường cong: Curve direction : đường cong chỉ có một hướng U

Span : khoảng cách giữa 2 điểm Editpoint

Hull : đường nối giữa 2 điểm đã cho

Control Vertex(CV): điểm điều khiển

Biên tập một đường cong nên làm việc với các CV hơn là các EP vì các

EP không làm thay đổi hình dạng của đường cong bằng các CV, dễ gây đổ vỡ hình khối và tăng dung lượng

1.1.2.3 Các Surface

Tạm dịch là bề mặt Trong dựng hình, surface là một tập các đường

cong liên kết với nhau

Trong tạo kết xuất, surface là một lớp bao phủ đối tượng để xác định xem đối tượng đó sẽ phản xạ ánh sáng như thế nào Có thể bề mặt chỉ có một màu nào đó, hoặc có thể là một mẫu vật liệu, một vỏ xù xì, hoặc trơn nhẵn Một số thành phần của surface:

- Isoparm: viết tắt từ cụm từ isoparametric curve Đó là một đường

cong nằm trên surface hay ở một EP có giá trị U hoặc V là hằng số

Trang 21

- Đường cong trên bề mặt (curve-on-surface): Là một loại đường cong

nằm trong một vùng tham số nào đó của đường cong Curve-on-surface thường được sử dụng để cắt tỉa surface

Một đối tượng đồ hoạ là một tập các surface Có hai kĩ thuật hiển thị của surface là dạng đổ bóng (shaded surface) và dạng khung (wireframe)

- Shaded surface: Một kĩ thuật hiển thị cho phép một đối tượng hình

học được trình bày ở dạng đổ bóng kín một bề mặt

- Wireframe: Một kĩ thuật hiển thị cho phép một đối tượng hình học

được trình bày ở dạng là một tập các đường là khung của mô hình

Hình 1.4 Một cảnh biểu diễn đối tượng 3 chiều

Trang 22

Trong 3D đồ họa máy tính, mô hình 3D là quá trình phát triển một đại diện toán học của bất kỳ ba chiều bề mặt của một đối tượng (hoặc là vô tri vô giác, sinh sống) thông qua phần mềm chuyên dụng Sản phẩm này được gọi

là mô hình 3D

1.1.2.5 Tổng quan về mô hình hóa

Trong kỹ thuật biểu diễn, người ta phân thành hai nhóm: mô hình hóa vật thể và mô hình hóa hình học

Kỹ thuật mô hình hóa hình học được phát triển trong các ngành công nghiệp tự động hóa và chủ yếu được sử dụng để thiết kế các hình dạng của xe hơi Hiện nay, mô hình này còn được ứng dụng trong các ngành như công nghiệp hàng không, hải quân… và một số lĩnh vực khác Mô hình này cũng

hỗ trợ chính cho việc điều khiển về mặt hình dạng

Kỹ thuật mô hình hóa vật thể được xây dựng dựa trên các thông tin biểu diễn đầy đủ, chính xác, rõ ràng một đối tượng trong không gian chúng có thể tạo ra các mô hình trên máy tính với khả năng phân loại bất

kỳ điểm nào trong không gian ba chiều: phía trong, phía ngoài, hoặc là trên bề mặt của đối tượng

1.1.2.6 Hệ tọa độ trong không gian 3 chiều

Không gian ba chiều là một mô hình hình học có ba thông số trong

đó bao gồm tất cả các vật chất được chúng ta biết đến Ba chiều được nhắc đến ở đây thường là chiều dài, chiều rộng, chiều cao (hoặc chiều sâu) Ba hướng bất kì nào cũng có thể được chọn, miễn là chúng không nằm trong cùng một mặt phẳng

Là 3 trục vuông góc nhau từng đôi một x'Ox, y'Oy, z'Oz mà trên đó đã chọn 3 véc-tơ đơn vị i, j, k sao cho độ dài của 3 véc-tơ này bằng nhau

 Hệ tọa độ Descartes

Trang 23

Hình 1.5 Hệ tọa độ Descartes ba chiều với trục y

có chiều chạy xa người quan sát

Hình 1.6 Hệ tọa độ Descartes ba chiều với trục x

có chiều chạy về phía người quan sát

 Hệ tọa độ cực

Hệ tọa độ cực là một hệ tọa độ hai chiều trong đó mỗi điểm M bất kỳ

trên một mặt phẳng được biểu diễn bằng 2 thành phần:

Trang 24

 Khoảng cách từ điểm đó tới một điểm gốc O (gốc Cực) gọi là bán kính

 Góc tạo bởi đường thẳng OM với hướng gốc cho trước (trục Cực)

Hệ tọa độ cực hữu ích trong những trường hợp trong đó quan hệ giữa hai điểm dễ được viết dưới dạng góc và khoảng cách Trong các hệ tọa độ thông thường như hệ tọa độ Descartes, quan hệ này chỉ có thể được biểu diễn dưới dạng công thức lượng giác

1.1.2.7 Quá trình xử lý hiển thị trong đồ họa 3D

Hình 1.7 Quá trình xử lý và hiển thị 3D

1.2 Biểu diễn đối tượng 3D

Khi biểu diễn một đối tượng ba chiều, ta cần phải xem xét nhiều khía cạnh Cụ thể như đường cong, mặt cong của đối tượng Ngoài ra, cần thêm một số thông tin về thuộc tính của đối tượng

Có nhiều phương pháp khác nhau để mô tả các đối tượng 3D Tùy thuộc vào từng đối tượng cụ thể, có thể dùng các phương pháp thích hợp với thuộc tính của các loại đối tượng đó Chẳng hạn để biểu diễn các đối tượng như mặt tròn xoay, các đối tượng dùng để thiết kế các mô hình máy bay, bánh răng… thường được sử dụng thông qua mặt cong tham số

Trang 25

Các đối tượng trong thế giới thực phần lớn là các đối tượng ba chiều còn các thiết bị hiển thị chỉ biểu diễn hai chiều Do vậy muốn có hình ảnh ba chiều ta cần phải tiến hành giả lập Ngoài ra khi chúng ta mô hình hoá và hiển thị một đối tượng ba chiều, ta cần phải xem xét rất nhiều khía cạnh khác nhau như mặt phẳng, mặt cong và một số thông tin về bên trong các đối tượng Biểu diễn mô hình ta có thể biểu diễn dưới dạng mô hình khung dây,

mô hình lưới đa giác, …

Biểu diễn mô hình dạng khung dây cho ta thấy được các chi tiết bên trong của mô hình, sử dụng các phương pháp di chuyển, xoay, xoá đi các đường khuất (để thể hiện mô hình dạng mặt)

Hình 1.8 Biểu diễn các đường cong và mặt cong

1.2.1 Biểu diễn mặt lưới 3D

Việc sử dụng mô hình khung lưới cho phép ta hình dung được kết cấu bên trong của một mô hình 3D bằng cách xoay chuyển đối tượng và chọn lựa xóa các đường ẩn (những đường mà thường khi người ta không thể trông thấy thông qua các mặt phẳng cắt ngang)

Khi thể hiện bằng mô hình này, các đối tượng này không giống thực tế lắm Vì vậy người ta dùng các kỹ thuật tạo bóng và loại bỏ các đường và mặt khuất Mô hình này thường nhanh nên người ta thường dùng nó trong việc xem phác thảo (preview) các đối tượng, đặc biệt là trong các hệ CAD

Trang 26

Một dạng thông thường của lưới đa giác là các dãy tam giác (triale strip) Khi đa giác được mô tả bởi nhiều hơn ba đỉnh, các đỉnh của nó có thể không đồng phẳng Điều này có thể dẫn đến các lỗi tính toán Một phương pháp đơn giản là phân đa giác này thành các tam giác

Hình 1.9 Lưới tam giác và lưới tứ giác

Hình 1.10 Biểu diễn mặt đa giác

1.2.2 Biểu diễn bề mặt trơn tham số

Trong trường hợp các đối tượng thực sự phức tạp, người ta thường dùng một hay nhiều mặt cong trơn ghép nối lại với nhau Mỗi thành phần dùng để ghép nối được gọi là mặt vá (patch)

1.2.3 Đường và mặt cong tham số NURBS

NURBS là từ viết tắt của Non-Uniform Rational B-Spline Đây là một kiểu hình khối bao gồm các đường cong (curves), các mảng ráp (patches), các

bề mặt (surfaces)

Trang 27

NURBS là một tập hợp rộng lớn các đường cong conic, splines và Bezier Chúng có khả năng phù hợp đặc biệt trong 3D bởi vì chúng cung cấp tính liên tục rất hoàn hảo với một lượng tối thiểu các điểm điều khiển (control points)

 Non-Uniform là phần tham số hoá của đường cong

 Rational là phương trình hữu tỉ của đường cong Tính chất này cho phép NURBS có thể thể hiện các đường conic cũng như các đường cong đa dạng khác một cách chính xác

 B-splines là các đường cong đa thức có thể hiện theo tham số

 Điều đặc biệt của NURBS chính là sử dụng các phương trình tham

số để biểu diễn đường cong và các phương trình này phù hợp cho biểu diễn trong 3D

Sử dụng các mô hình kiểu NURBS khi muốn dựng các bề mặt có độ trơn nhẵn cao Ví dụ: hình cầu

Với tầm quan trọng của mình, NURBS đã được tập trung nghiên cứu trong 3 thập kỉ gần đây Khi dựng hình, thường dựng những phần đơn giản bằng Polygon còn những phần có nhiều đường cong, đòi hỏi độ nhẵn mịn cao thì thường người ta sử dụng NURBS

Hình 1.11 Minh hoạ tiến trình dựng một chiếc cốc đơn giản bằng NURBS

Trang 28

Các đường cong và các surface NURBS cĩ rất nhiều các ứng dụng và được

ưa dùng trong thiết kế cơng nghiệp và tự động Đây là những nơi các hình dạng trơn tru với lượng dữ liệu tối thiểu là yêu cầu đặt ra Các đường cong NURBS phát huy hiệu quả trong việc tạo ra đường chuyển động liên tục của một đối tượng được hoạt hố

Tĩm lại, NURBS là một mơ hình tốn học được sử dụng trong kĩ thuật đồ họa máy tính để biểu diễn đường cong và bề mặt

Việc phát triển NURBS được bắt đầu từ những năm 1950 bởi những

kĩ sư cần các biểu diễn tốn học chính xác của các bề mặt tự do như vỏ của tàu thủy, bề mặt bên ngồi của tàu khơng gian vũ trụ và vỏ ơtơ, những thứ mà cĩ thể sản xuất lại một cách chính xác bất cứ khi nào bằng kĩ thuật Trước đĩ, loại bề mặt như vậy chỉ được biểu diễn bởi một mơ hình tạo bởi một người thiết kế mỹ thuật cơng nghiệp

Những người tiên phong cho cuộc phát triển này cĩ Pierre Bézier,

kỹ sư của Renault và Paul de Casteljau làm việc cho Citroën, cả hai đều

ở Pháp Bézier đã làm việc gần như đồng thời với de Casteljau, khơng ai biết về cơng việc của người kia Nhưng bởi vì Bézier đã cơng bố thành quả của ơng ta, những người sử dụng cơng nghệ đồ họa máy tính ngày này cơng nhận đường Spline được biểu diễn với các điểm điều khiển giữ cữ cho đường cong là đường cong Bézier splines, Trong khi tên tuổi của de Casteljau chỉ được biết và dùng cho thuật tốn mà ơng ấy phát triển để ước định bề mặt tốn học điều khiển tham số Vào những năm 1960 mọi việc đã trở nên rõ ràng rằng non-uniform rational B-splines là sự khái quát hĩa của đường cong Bézier splines

Lúc đầu NURBS chỉ được sử dụng trong thuộc tính của gĩi phần mềm CAD của các cơng ty ơtơ Sau này chúng trở thành một phần của chuẩn gĩi chuẩn đồ họa máy tính

Trang 29

Quá trình dựng ảnh tương tác thời gian thực của đường cong và bề mặt NURBS được tạo bởi máy trạm làm việc silicon vào năm 1989 Vào năm

1993 công cụ mô hình hóa tương tác NURBS cho máy tính cá nhân gọi là NURBS, đã được phát triển bởi CAS Berlin, một công ty nhỏ mới hình thành liên kết với trường đại học kĩ thuật Berlin Ngày nay hầu hết các ứng dụng đồ họa máy tính chuyên nghiệp có sẵn cho máy tính để bàn đều sử dụng kỹ nghệ NURBS, các ứng dụng này thông thường nhất được thực hiện bởi việc kết hợp một công cụ NURBS từ một công ty chuyên sâu

Một đường cong NURBS được xác định bởi các thông số: bậc, tập điểm điều khiển có trọng số và một vector knot Đường và mặt cong NURBS

là trường hợp tổng quát của đường, mặt cong B-spline and Bézier, điểm khác biệt cơ bản là các điểm điều khiển đã được gán trọng số, khiến cho đường cong NURBS có tỉ lệ

1.2.4.Thư viện xử lý đồ họa OpenGL

OpenGL là một tiêu chuẩn kỹ thuật đồ họa nhằm mục đích tạo ra một giao diện lập trình ứng dụng đồ họa 3D được phát triển đầu tiên bởi Silicon Graphic, Inc OpenGL đã trở thành một chuẩn công nghiệp và các đặc tính kỹ thuật của OpenGL do Uỷ ban kỹ thuật ARB OpenGL cho phép phát triển các ứng dụng đồ họa sử dụng nhiều ngôn ngữ lập trình khác nhau như C/C++, Java, Delphi, v.v…, tuy nhiên OpenGL cũng có thể được dùng trong ứng dụng đồ họa 2D Giao diện lập trình này chứa khoảng 250 hàm để vẽ các cảnh phức tạp từ những hàm đơn giản và được ứng dụng rộng rãi trong các trò chơi điện tử Ngoài ra còn được dùng trong các ứng dụng CAD, thực tại ảo, mô phỏng khoa học, mô phỏng thông tin, phát triển trò chơi OpenGL sử dụng hệ tọa độ theo quy tắc bàn tay phải

Trang 30

Tuy nhiên trong các ứng dụng đồ họa máy tính, hầu hết các đối tượng được biểu diễn dưới dạng phương trình không tham số chưa thể hiện ý tưởng người thiết kế Với những bề mặt có độ lồi lõm bất kỳ thì đòi hỏi khi thay đổi

vị trí của một điểm điều khiển thì yêu cầu phải có sự thay đổi cục bộ chứ không phải toàn cục trên bề mặt Để đáp ứng yêu cầu trên ta sử dụng kiểu vectơ nút (vector knot) không đều và mặt cong NURBS cho việc biểu diễn các đối tượng phức hợp 3D Do vậy trong chương 2 sẽ đưa ra phương pháp tổng thể về những mô hình toán học để biểu diễn và xây dựng các loại đường

và mặt cong phức hợp trong không gian 3D trên máy tính mà ta gọi là đường cong và mặt cong tham số NURBS

Trang 31

CHƯƠNG 2 MỘT SỐ VẤN ĐỀ TRONG BIỂU DIỄN

MÔ HÌNH 3D BỞI KỸ THUẬT NURBS

Nội dung chính của chương này hệ thống hóa một số vấn đề trong biểu diễn mô hình 3D bởi đường cong và mặt cong NURBS

2.1 Đường cong tham số NURBS

2.1.1 Đường cong – CURVE

Trong các ứng dụng của đồ hoạ máy tính, hầu như các thực thể là đường cong mềm và mặt cong, chúng dùng để mô tả thế giới thực: nhà cửa,

xe cộ, núi non….hay xây dựng nên các thực thể đang được thiết kế Nhưng ta thấy sử dụng các phương trình đường cong không thể hiện được hình ảnh thực hay ý tưởng của người thiết kế, còn nếu ta dùng tập hợp các điểm thì thường cần nhiều dung lượng nhớ để lưu trữ cũng như tốc độ tính toán

2.1.2 Điểm biểu diễn đường cong (curve represents points )

Ta thấy qua hai điểm vẽ được một đường thẳng Qua ba điểm vẽ được một đường cong trong mặt phẳng Qua bốn điểm vẽ được một đường cong trong không gian Dùng các phương trình đường cong như Hypebol, parabol, thì tính toán phức tạp và không thể hiện được hình ảnh thực hay ý tưởng của người thiết kế

Chọn đường cong như thế nào để phù hợp với máy tính? Biểu diễn và

điều khiển đường cong thông qua điểm điều khiển Đường cong là các đối

tượng cơ bản thường là kết quả của tiến trình thiết kế và các điểm đóng vai trò

là công cụ để kiểm soát và mô hình hoá đường cong Cách tiếp cận này là cơ

sở của lĩnh vực thiết kế mô hình hình học nhờ máy tính (Computer Aided

Geometric Design - CAGD)

Các cách để biểu diễn đường cong:

 Tường minh (Explicit functions): y = f(x), z = g(x)

Trang 32

 Không tường minh (Implicit equations): f(x,y,z) = 0

 Biểu diễn các đường cong tham biến (Parametric representation)

x = x(t), y = y(t), z = z(t) trong đó t [0 1]

Hạn chế:

 Hệ đồ hoạ ứng dụng chỉ mô tả bó hẹp trong đoạn nào đấy

 Đường cong bậc cao với mỗi giá trị của x ta luôn có 2 tập giá trị của

y (thực tế chỉ cần 1)

 Chúng ta cần biểu diễn đường cong mềm (chỉ biễu diễn đường

“cong gẫy”)

2.1.3 Đường cong đa thức bậc ba tham biến

Phải đảm bảo là đường cong không gian với 3 tọa độ x, y, z Tránh được những tính toán phức tạp và những phần nhấp nhô ngoài ý muốn xuất hiện ở những đa thức bậc cao

Công thức mô tả:

Tường minh : y = f3(x), z = g3(x)

Không tường minh: f3(x,y,z) = 0

Hình 2.1 Đường cong đa thức bậc ba

Biểu diễn các đường cong tham biến:

x = f3(u), y = f3(u), z = f3(u) trong đó u [0, 1]

Theo Lagrange:

x = a1 + b1u + c1u2 + d1u3

Trang 33

y = a2 + b2u + c2u2 + d2u3

z = a3 + b3u + c3u2 + d3u3

Ở đây ba phương trình với 12 ẩn số

Với bốn điểm p0, p1, p2, p3 phương trình xác định (vì bốn điểm thì xác định một đường cong trong không gian)

Mỗi một điểm cho 3 cặp giá trị:

Tất cả có 12 phương trình, thay vào 3 phương trình trên ta tính được 12

ẩn a1….d3

Ghi chú: rõ ràng có sự thay đổi một chút về đường cong thì ta lại phải giải lại hệ phương trình để tính các tham số cho đường cong, dẫn đến tính toán chậm

2.1.4 Đường cong Hermite

Phương pháp Hermite dựa trên cơ sở của cách biểu diễn Ferguson hay Coons năm 60 Với phương pháp của Hermite đường bậc ba sẽ xác định bởi hai điểm đầu và cuối cùng với hai góc nghiêng tại hai điểm đó

Hình 2.2 Đường cong Hermite

Theo công thức toán học hàm bậc ba được biểu diễn dưới dạng:

Trang 34

Độ dốc của đường cong được đo bằng p’(u)

P0 và p1 ta có hai độ dốc p0’ và p1’ với u = 0 và u = 1 tại hai điểm đầu, cuối của đoạn [0, 1]:

Trang 35

Hình 2.3 Đường cong Hermite

2.1.5 Đường cong Bezier

Việc sử dụng điểm với các vector kiểm soát được độ dốc của đường cong tại những điểm mà nó đi qua Tuy nhiên không được thuận lợi cho việc thiết kế tương tác, không tiếp cận với các độ dốc của đường cong bằng các giá trị số (Hermite)

Paul Bezier, nhân viên hãng RENAULT vào năm 1970 đi đầu trong việc ứng dụng máy tính cho việc xây dựng các bề mặt Hệ thống UNISURF của ông được áp dụng trong thực tế vào năm 1972 được thiết kế và kiểm xe Mezesez hay Renaut

Bezier đã sử dụng đa giác kiểm soát cho đường cong tại những đỉnh của đa giác và tiếp tuyến tại đó (p0, p1, p2, p3)

Ta có p0, p3 tương tác với p0, p1 trên đường Hermite, điểm trung gian p1, p2 được xác định bằng 1/3 theo độ dài của vector tiếp tuyến tại điểm p0 và p3

Trang 36

Hình 2.4 Đường cong Bezier

Hình 2.5 Hàm hợp của đường cong Bezier

Ưu điểm:

Dễ dàng kiểm soát hình dạng của đường cong hơn vector tiếp tuyến tại

p0’ và p1’ của Hermite;

Ngày đăng: 09/12/2016, 15:31

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] C. 4.6.3, "Triangulated Surface Mesh," CGAL.ORG, 29 9 2015. [Online]. Available: http://doc.cgal.org/latest/Surface_mesh_simplification/. [Accessed 29 9 2015] Sách, tạp chí
Tiêu đề: Triangulated Surface Mesh
[4] Jarek Rossignac and Paul Borrel, "Multi-resolution 3d approximation for rendering complex scenes," in Geometric Modeling in Computer Graphics, Springer Verlag, 1993, p. 455–465 Sách, tạp chí
Tiêu đề: Multi-resolution 3d approximation for rendering complex scenes
[6] Michael Garland and Paul S. Heckbert, "Surface simpli cation using quadric error metrics," in Proceedings of the 24th annual conference on Computer graphics and interactive techniques, New York, NY, USA, 1997, p. 209–216 Sách, tạp chí
Tiêu đề: Surface simpli cation using quadric error metrics
[8] M. H. Gross, O. G. Staadt and Roger Gatti, "Efficient triangular surface approximation using wavelets and quadtree data structures," in IEEE Transaction on Visualization and Computer Graphics, 1996, p. 130–143 Sách, tạp chí
Tiêu đề: Efficient triangular surface approximation using wavelets and quadtree data structures
[2] Hoàng Kiếm, Dương Anh Ðức, Lê Ðình Duy, Vu Hải Quân (2000). Giáo trình cơ sở Ðồ hoạ Máy tính, NXB Giáo dục Khác
[3] Lê Tấn Hùng, Huỳnh Quyết Thắng (2002). Kỹ thuật đồ hoạ máy tính, NXB khoa học và kỹ thuật Khác
[1] Gerald Farin (Academic Press, 1990), Curves and surfaces for Computer Aided Geometric Khác
[2] Richard H. Bartels, John C. Beatty, and Brian A. Barsky (Morgan Kaufmann Publishers, 1987), Introduction to Splines used in computer graphics and geometric modeling Khác
[5] Schroeder, W., Zarge, J. and Lorensen, W., Decimation of triangle meshes, Computer Graphics (SIGGRAPH, 1992 Khác
[7] G. Turk, Re-tiling polygonal surfaces.Computer Graphics, SIGGRAPH ’92 Proceedings, 1992 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

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