1. Trang chủ
  2. » Nông - Lâm - Ngư

Nghiên cứu một số kỹ thuật rút gọn bề mặt mô hình 3d

75 376 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 1,5 MB

Nội dung

Có nhiều kỹ thuật giảm thiều không gian lưu trữ bằng cách sử dụng các kỹ thuật nén ảnh, nhưng các kỹ thuật phổ biến hiện nay người ta thường dùng để giảm thiểu không gian lưu trữ là loại

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

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

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

Trang 4

LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS TS.Đỗ Năng

Toàn người đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá

trình làm luận văn

Em cũng xin gửi lời cảm ơn đến các thầy cô giáo trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên, các thầy cô Viện Công nghệ thông tin đã truyền đạt những kiến thức và giúp đỡ em trong suốt quá trình học của mình

ửi lời cảm ơn tới Ban giám hiệu trường THPT Nguyễn Đức Cảnh - Hải Phòng đã tạo điều kiện thuận lợ

tham gia khóa học và quá trình hoàn thành luận văn

ử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 đỡ để viên có được kết quả như ngày hôm nay

Phạm Minh Khôi

Trang 5

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1 KHÁI QUÁT VỀ ĐỒ HỌA 3D VÀ BÀI TOÁN RÚT GỌN 3

1.1 Khái quát về đồ họa 3D 3

1.1.1 Đồ họa 3D là gì? 3

1.1.2 Các thành phần cơ bản của đồ họa 3D 4

1.1.3 Card màn hình 8

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

1.2 BÀI TOÁN RÚT GỌN ĐỐI TƯỢNG 3D 10

1.2.1 Khái niệm lưới (Mesh): 10

1.2.2 Giới thiệu bài toán rút gọn 11

1.2.3 Một số cách tiếp cận trong rút gọn lưới 3D: 13

CHƯƠNG 2 MỘT SỐ KỸ THUẬT RÚT GỌN BỀ MẶT MÔ HÌNH 3D 15

2.1 Rút gọn lưới bằng kỹ thuật PM (Progressive Meshes) 15

2.1.1 Ý tưởng 15

2.1.2 Thuật toán PM (Progressive Meshes) 17

2.1.3 Diện mạo của lưới: 18

2.1.4 Truyền tải lũy tiến 20

2.1.5 Nén lưới 20

2.1.6 Làm mịn có chọn lọc 23

2.1.7 Xây dựng lưới 24

2.1.8 Tóm lược: Tối ưu hóa lưới 25

2.1.9 Tổng quan về các thuật toán đơn giản hóa lưới 27

2.1.10 Bảo quản hình dạng bề mặt E dist E spring 29

2.1.11 Bảo tồn các thuộc tính vô hướngE scalar (M) 30

2.1.12 Duy trì các đường cong gián đoạn (E disc) 32

2.1.13 Cho phép thay đổi cấu trúc liên kết của các đường cong gián đoạn 34

2.2 Đơn giản hóa lưới bằng kỹ thuật Quadric Error Metrics (QEM) 34

2.2.1 Các yêu cầu về giữ nguyên hình dạng hình học của vật thể (topology preservation) 35 2.2.2 Phương pháp đánh giá độ xấp xỉ 36

2.2.3 Ý tưởng và các bước của thuật toán 40

2.2.3.1 Ý tưởng 40

2.2.3.2 Các bước cơ bản của thuật toán 40

2.2.4 Tập các cặp đỉnh sẽ được xem xét loại bỏ 42

Trang 6

2.2.4.1 Tập các cặp đỉnh 42

2.2.4.2 Phép loại bỏ cặp đỉnh 43

2.2.5 Hàm xác định giá 43

2.2.5.1 Đại lượng sai số bậc hai (QEM) 45

2.2.5.2 Xác dịnh trọng số của các mặt 47

2.2.5.3 Xác định vị trí đỉnh mới 49

2.2.6 Kiểm tra tính toàn vẹn 49

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

3.1 Yêu cầu bài toán 52

3.2 Mô tả dữ liệu thử nghiệm 52

3.3 Phân tích thiết kế và chương trình thử nghiệm 54

3.3.1 Phân tích thiết kế 54

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

3.3.3 Đánh giá kết quả đạt được 58

PHẦN KẾT LUẬN 64

TÀI LIỆU THAM KHẢO 65

Trang 7

DANH MỤC HÌNH

Hình 1.1 Đối tượng 3D 4

Hình 1.2 Cấu trúc mô hình 3D 5

Hình 1.3 Các đối tượng nguyên thuỷ của đa giác 7

Hình 1.4 Mô hình liên tục 7

Hình 1.5 Card đồ họa hỗ trợ 3D 9

Hình 1.6 Mô hình lưới tam giác 10

Hình 1.7 Minh họa về việc giảm thiểu bề mặt 2D 12

Hình 1.8 Minh họa về việc giảm thiểu bề mặt 3D theo các mức khác nhau 12

Hình 2.1 Minh họa việc chuyển bó cạnh (ecol: hợp; vsplit: tách) 15

Hình 2.2 (a) Trình tự bó cạnh; (b) Kết quả đỉnh tương ứng 15

Hình 2.3 Minh hoạ của các đường dẫn được thực hiện bởi tối ưu hóa bằng cách sử dụng lưới ba thiết lập khác nhau của Crep 26

Hình 2.4 Minh hoạ PM đường dẫn thực hiện thủ tục đơn giản hóa lưới trong một đồ thị vẽ chính xác so với kích thước mắt lưới 28

Hình 2.5 Đơn giản hóa không sử dụng Edisc 34

Hình 2.6 Một vật thể gồm nhiều khối hộp được giảm thiểu theo 2 cách 36

Hình 2.7 Mô phỏng tình huống trong không gian hai chiều 45

Hình 2.8 Mặt vuông được “lát” bằng các hình tam giác khác nhau 48

Hình 2.9 Sau khi loại bỏ một cặp thì xuất hiện 1 mặt bị ngược 50

Hình 2.10 Giải pháp của QEM 50

Hình 3.1 Ví dụ về yêu cầu rút gọn mô hình 3D 52

Hình 3.2 Minh họa cấu trúc tệp OBJ 53

Hình 3.3 Thử nghiệm mô hình Bunny 57

Hình 3.4 Thử nghiệm mô hình Dragon 58

Hình 3.5 Thử nghiệm mô hình Horse 58

Hình 3.6 Bunny 69665 mặt - 34835 đỉnh 59

Hình 3.7 Bunny 500 mặt 252 đỉnh 59

Hình 3.8 Bunny 100 mặt 52 đỉnh 59

Hình 3.9 Dragon 209227 mặt 104855 đỉnh 59

Hình 3.10 Dragon 500 mặt 250 đỉnh 60

Hình 3.11 Dragon 100 mặt 51 đỉnh 60

Hình 3.12 Horse 96966 mặt 48485 đỉnh 60

Trang 8

Hình 3.13 Horse 500 mặt 252 đỉnh 60

Hình 3.14 Horse 100 mặt 52 đỉnh 61

Hình 3.15 Car 8160 mặt - 425931 đỉnh 61

Hình 3.16 Car 1686 mặt 425931 đỉnh 62

Trang 9

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

Thuật toán đơn giản lưới biểu diễn bề mặt đa diện sử dụng

độ đo sai số bậc hai

Language

Ngôn ngữ mô hình hóa thực tại ảo

Trang 10

Trong lĩnh vực biểu diễn, hiển thị hình ảnh 3D có hai phần chính là tạo

mô hình bề mặt (Modeling) và tạo sự chuyển động cho mô hình (Animation) Việc tạo mô hình 3D thường thực hiện thông qua sử dụng máy quét 3D hoặc các phần mềm chuyên dụng phổ biến hiện nay là Maya, 3DS Max…, mỗi phần mềm có ưu việt riêng của mình, song ở Việt Nam 3DS Max được biết đến nhiều qua việc ứng dụng trong các lĩnh vực thiết kế, kiến trúc, xây dựng Nhưng có một đặc tính chung là các phần mềm chỉ chú trọng việc đưa

ra kết quả dưới dạng phim, ảnh, còn hình ảnh đưa ra dưới dạng Object phục

vụ cho các hoạt động điều khiển sau đó trong môi trường đồ họa 3D thường là rất nặng, tốn kém nhiều tài nguyên của máy tính

Hiện nay công nghệ phần cứng phát triển mạnh có hỗ trợ cho việc hiển thị hình ảnh 3D, nhưng vẫn chưa đáp ứng được đầy đủ “không gian” cho việc

xử lý hình ảnh, tốc độ cao bộ xử lý tuy nhanh song với một mô hình lớn nó cũng trở lên chậm chạp Vậy vấn đề đặt ra là việc giám thiểu không gian lưu trữ của mô hình, có thể tích hợp nhiều mô hình với nhau để tạo ra mô hình lớn

mà vẫn đáp ứng được các yêu cầu điều khiển sau đó [1]

Có nhiều kỹ thuật giảm thiều không gian lưu trữ bằng cách sử dụng các

kỹ thuật nén ảnh, nhưng các kỹ thuật phổ biến hiện nay người ta thường dùng

để giảm thiểu không gian lưu trữ là loại bỏ bớt số mặt phẳng đa giác biểu diễn của vật thể ban đầu để thu được mô hình có ít mặt đa giác hơn mà vẫn đảm

Trang 11

bảo về mặt hình dạng của mô hình đó

Hiện nay ở nước ta việc ứng dụng công nghệ cao trong các ngành, các lĩnh vực là rất phổ biến trong đó có lĩnh vực đồ họa 3D, song các nghiên cứu

về nó còn chưa nhiều Từ những lý do kể trên cùng với gợi ý của thầy hướng dẫn học viên đã lựa chọn đề tài “Nghiên cứu một số kỹ thuật rút gọn bề mặt

mô hình 3D”

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

- Đối tượng nghiên cứu: Mô hình 3D đối tượng

- Phạm vinghiên cứu: Đối tượng riêng lẻ và được biểu diễn bởi bề mặt lưới đa giác, quan tâm đến chất liệu che phủ bề mặt

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

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

Chương 1 Khái quát về đồ họa 3D và bài toán rút gọn

Chương 2 Một số kỹ thuật rút gọn bề mặt mô hình 3D

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

Trang 12

CHƯƠNG 1.KHÁI QUÁT VỀ ĐỒ HỌA 3D VÀ BÀI TOÁN RÚT GỌN

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à sơ lược bài toán rút gọn bề mặt mô hình 3D

1.1 Khái quát về đồ họa 3D

1.1.1 Đồ họa 3D là gì?

Các lĩnh vực đồ họa máy tính liên quan đến việc tạo ra và hiển thị các đối tượng ba chiều trong một không gian hai chiều (ví dụ, màn hình hiển thị) là đồ

họa 3D Trong đó, điểm ảnh trong một hình ảnh 2 chiều có các thuộc tính của

vị trí, màu sắc, và độ sáng, một điểm ảnh 3D cho biết thêm một thuộc tính chiều sâu cho biết điểm nằm trên một trục Z tưởng tượng Khi được kết hợp nhiều điểm ảnh 3D, với mỗi giá trị chiều sâu riêng của mình, kết quả là ta có một bề mặt ba chiều Ngoài ra, đồ họa 3D cũng hỗ trợ nhiều đối tượng tương

tác với nhau Ví dụ, một vật rắn, một phần có thể ẩn đằng sau nó Cuối cùng,

máy tính xử lý với các kỹ thuật sử dụng trong không gian 3D để hiển thị vật

thể thực tế với chiều sâu của nó

Mục đích chính của đồ họa 3D là tạo ra và mô tả các đối tượng, các mô

hình trong thế giới thật bằng máy tính sao cho càng giống với thật càng tốt

Việc nghiên cứu các phương pháp các kỹ thuật khác nhau của đồ họa 3D cũng

chỉ hướng đến một mục tiêu duy nhất đó là làm sao cho các nhân vật, các đối tượng, các mô hình được tạo ra trong máy tính giống như thật, có dung lượng

lưu trữ và xỉ lý tối ưu nhất Và một trong các phương pháp đó là rút gọn mô hình 3D

Có rất nhiều khái niệm khác nhau về đối tượng 3D, song một cách chung nhất chúng ta có thể hiểu như sau: Một đối tượng 3D chính là đại diện trừu

tượng của một đối tượng trong thế giới thực hoặc một đối tượng do chúng ta tưởng tượng ra được xây dựng và biểu diễn trong môi trường máy tính Trong

Trang 13

đó, nó bao gồm hai thành phần chính: thứ nhất là một mô hình 3D biểu diễn hình học và màu sắc của đối tượng, thứ hai là các thuộc tính, sự ràng buộc và

các mối quan hệ giữa các thành phần của đối tượng đó

Chúng ta có thể lấy một ví dụ nhỏ về đối tượng 3D là một nhân vật được

mô hình hóa và biểu diễn trên máy tính Nhân vật 3D này sẽ bao gồm: thứ nhất là một mô hình 3D chính là phần hình học và màu sắc để biểu diễn các

đường nét, hình dáng của nhân vật (phần tĩnh), thứ hai là các thuộc tính ràng buộc về các cơ quan, bộ phận của nhân vật (phần động), điều này rất quan trọng khi chúng ta thực hiện các thao tác biến đổi lên mô hình để tạo ra sự di chuyển hay thực hiện các hành động của nhân vật Chúng ta có thể hình dung

cụ thể hơn qua Hình 1.1

Hình 1.1 Đối tượng 3D

Mô hình 3D của nhân vật hay phần hình học (đường màu xanh thẫm) tạo

nên hình dáng của đối tượng, sự ràng buộc về cấu trúc (các khung hình xanh lá cây) và các ràng buộc cử chỉ (màu vàng) Tất cả các yếu tố đó tạo nên đối

tượng nhân vật hoạt hình 3D

1.1.2 Các thành phần cơ bản của đồ họa 3D

Sence: Là thành phần chứa tất cả các đối tượng của không gian 3D, các

đối tượng này được lưu trữ trong cấu trúc dữ liệu dạng cây

Trang 14

Camera: Xác định điểm nhìn mà chúng ta đang xem Sence, được dùng để thay đổi góc nhìn, hướng nhìn, trọng tâm điểm nhìn

Viewport: Là vùng chứa những đối tượng mà Camera có thể nhìn thấy,

thể hiện một phần trong Sence 3D

Tùy trong từng viewport đối tượng có những biến đổi khác nhau, ví dụ như khi ta nhìn ngôi nhà ở vị trí gần thì các chi tiết, thuộc tính về ngôi nhà đó càng nhiều; ở một góc nhìn khác rất xa thì ta chỉ còn lại hình thù của căn nhà

đó (là khối hình hộp) các thông thuộc tính của nó ít đi, thậm chí ta không còn

nhìn thấy các ô cửa của nó… Vậy để mô hình đối tượng 3D giống như thế giới thực ta có rất nhiều kỹ thuật phải nghiên cứu, trong đó có rút gọn bề mặt mô hình 3D

Trong khuôn khổ và phạm vi nghiên cứu của luận văn này, mục này chủ yếu trình bày về phần hình học lưới bao phủ bề mặt của đối tượng hay mô

hình 3D của đối tượng và cụ thể là lưới tam giác (Phần 1.2.1) Như đã đề cập, một mô hình 3D bao gồm hai thành phần chính: thứ nhất là cấu trúc hình học

tạo nên hình dáng của đối tượng (Geometry), thứ hai là chất liệu tạo nên đối tượng (Material) Chúng ta có thể hình dung rõ hơn trong Hình 1.2

Ví dụ về cấu trúc của mô hình 3D:

Hình 1.2 Cấu trúc mô hình 3D

Trang 15

Vertexts: Tập các tọa độ điểm, nó bao gồm 3 giá trị X,Y,Z mô tả về vị trí trong không gian và nó là thành phần nhỏ nhất của một mô hình 3 chiều Indexs: Tập này sẽ mô tả việc các điểm sẽ kết nối với nhau như thế nào

để tạo nên các đa giác

Geometrys: Là tập các đa giác (tam giác hay tứ giác) tạo nên bề mặt hình học của đối tượng Tập này được tạo nên từ hai tập trước đó là vertexts và indexs

Textcoords: Tập này sẽ mô tả việc ánh xạ màu sắc lên bề mặt của đối tượng Texture: Là tập màu sắc dùng để ánh xạ lên bề mặt đối tượng 3 chiều

Tập này thường là tập các ảnh 2D

Material: Là tập các thuộc tính mô tả tính chất bề mặt của đối tượng, nó bao gồm các thông tin mô tả về tính chất của bề mặt như: độ nhạy sáng, màu sắc, trong suốt hay không trong suốt … Có thể hiểu đây chính là các thông tin

mô tả về chất liệu của đối tượng

Mỗi một cấu trúc đồ họa thì các thành phần này lại được tổ chức sắp xếp

và lưu trữ khác nhau, như trong VRML thì các thành phần này được tổ chức

theo dạng phân cấp hình cây

Các dạng mô hình 3D: Ở đây luận văn chỉ đề cập đến hai dạng mô hình 3D chính là mô hình đa giác (Polygon) rời rạc và mô hình liên tục

Mô hình đa giác (Polygon)

Mô hình đa giác là các dạng mô hình mà ở đó bề mặt của đối tượng bao gồm nhiều bề mặt đa giác phẳng, có thể tạo ra đối tượng từ một bề mặt đa giác hoặc một mạng các bề mặt đa giác Ta có thể sử dụng bề mặt đa giác để mô hình bất kỳ hình dáng bề mặt nào và đặc biệt hữu ích đối với những dạng đơn giản, với đối tượng thuộc lớp động vật, người, đối tượng đòi hỏi một cái nhìn tổng quan với độ trơn cao

Các đối tượng nguyên thuỷ của polygon bao gồm (Hình 1.3):

Trang 16

Hình 1.3 Các đối tượng nguyên thuỷ của đa giác

Mô hình liên tục là các dạng mô hình mà ở đó đối tượng ba chiều được tạo nên bằng cách áp dụng các phương trình toán học như: B-Spline, NURBS, RBF, PDE… cho việc mô hình hóa (Hình 1.4 là một ví dụ về sử dụng hàm PDE cho mô hình hóa)

Hình 1.4 Mô hình liên tục

Mỗi một dạng mô hình 3D lại có ưu nhược điểm rất khác nhau, và tùy

vào ứng dụng mà chúng ta lựa chọn biểu diễn đối tượng theo dạng nào Nếu biểu diễn đối tượng bằng cách sử dụng các mô hình đa giác rời rạc thì có ưu điểm là dễ thiết kế, đơn giản, nhưng nhược điểm là tính toán chậm, khả năng kết nối giữa các mô hình khác nhau một cách tự động là khó khăn Mô hình liên tục, vì sử dụng các phương trình toán học để biểu diễn nên nó có tính toàn

Trang 17

cục cao, khả năng kết nối tốt, nhưng nhược điểm là phức tạp

1.1.3 Card màn hình

Ngay từ những ngày đầu tiên của máy vi tính, hầu hết Card màn hình làm nhiệm vụ là bộ chuyển đổi, những hình ảnh được tạo bởi bộ vi xử lí CPU thực hiện và chuyển đổi thành những tín hiệu điện để hiển thị trên màn hình Để làm được việc này hầu hết những hình ảnh được CPU xử lí cùng với những hiệu ứng âm thanh, tín hiệu đầu vào (đối với Game) và những ngắt hệ thống

Bộ vi xử lí của máy tính phải thực hiện mọi công việc để tạo nên những hình

ảnh 3D, âm thanh nổi điều này sẽ trở nên quá tải đối với những hệ thống

thậm chí có bộ vi xử lí tốc độ nhanh nhất và nó không thể phục vụ những yêu cầu như vậy trong thời gian thực Để giải quyết được điều này bộ vi xử lí đồ hoạ, GPU, sẽ tham gia vào công việc tạo nên những hình ảnh và những hiệu

ứng 3D GPU chia sẻ nhiệm vụ với CPU để tạo ra những hình ảnh động với

những tốc độ chấp nhận được

Như chúng ta đã xem, bước đầu tiên để tạo hình ảnh số 3D là tạo ra hình

ảnh với cấu trúc dây (Wireframe) từ những hình tam giác và đa giác.Với những Wireframe được chuyển từ những thuật toán 3 chiều thành những mẫu

mà hiển thị trên màn hình 2D Hình ảnh biến đổi được phủ lên bề mặt hoặc

được diễn tả, ánh sáng từ những nguồn sáng khác nhau và cuối cùng thành những mẫu mà hiển thị trên màn hình Hiện nay hầu hết các Card màn hình đều dùng GPU và nhiệm vụ của nó là diễn tả hình ảnh từ dạng Wireframe do

CPU tạo ra và chuyển chúng thành những hình đa giác kiểu 2D

Trang 18

Hình 1.5 Card đồ họa hỗ trợ 3D

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

Ðồ họa máy tính là một trong những linh vực lý thú nhất và phát triển nhanh nhất của tin học Ngay từ khi xuất hiện nó đã có sức lôi cuốn mãnh liệt, cuốn hút rất nhiều người ở nhiều lĩnh vực khác nhau như khoa học nghệ thuật, kinh doanh, quản lý Tính hấp dẫn của nó có thể được minh họa rất trực quan thông qua các ứng dụng của nó

Xây dựng giao diện người dùng (User Interface): Giao diện đồ hoạ thực sự

là cuộc cách mạng mang lại sự thuận tiện và thoải mái cho người dùng ứng dụng Tạo các biểu đồ trong thương mại, khoa học, kỹ thuật.Các ứng dụng này thường được dùng để tóm lược các dữ liệu về tài chính, thống kê, khoa học, toán học… giúp cho nghiên cứu, quản lý… một cách có hiệu quả

Thiết kế với sự trợ giúp của máy tính: Trong các lĩnh vực cơ khí, chế tạo như: chế tạo ô tô, máy bay để nhằm giảm thiểu chi phí vẫn có chất lượng tốt nhất Lĩnh vực giải trí, y tế,nghệ thuật: Các game chiến thuật, địa hình, mô phỏng các vụ án, các vụ phóng tên lửa đạn đạo, mô phỏng các bộ phận cơ thể con người trong y tế…

Lĩnh vực bản đồ (Cartography): Các bản đồ về địa hình, du lịch, giao

thông ngày nay ứng dụng rất tốt công nghệ 3D như: Google Map; Google

Trang 19

Earth; Chỉ dẫn giao thông Sygic với mức tương tác rất cao, cho phép người dùng bổ sung các địa điểm trên bản đồ, các trạm xăng trên các chặng đường

và tình hình ùn tắc giao thông về hệ thống…

Giáo dục và đào tạo: Giáo dục đào tạo đã và đang tăng cường ứng dụng công nghệ thông tin trong quản lý giáo dục và giảng dạy, các thầy cô giáo dần làm quen với giáo án điện tử, E_learning, lớp học ảo…; học sinh được học bài giảng trực tuyến, đào tạo từ xa…; trong các tiết học thực hành với chi phí về

đồ dùng thí nghiệm đắt đỏ thì việc ứng dụng các phần mềm thí nghiệm ảo để

mô phỏng các thí nghiệm vật lí, hóa học và các chi tiết máy trong môn Công nghệ là vô cùng hiệu quả, học sinh có thể thay đổi các tham số của chương trình để có các ca thí nghiệm khác nhau Như vậy tiết kiệm được chi phí, vẫn đảm bảo tốt mục tiêu giáo dục

Trong lĩnh vực quốc phòng an ninh: Mô phỏng các vụ nổ, tập lái ô ô, máy bay, mô phỏng chiến trường và các tình huống giả định trong chiến đấu

Và nhiều ứng dụng khác

1.2 BÀI TOÁN RÚT GỌN ĐỐI TƯỢNG 3D

1.2.1 Khái niệm lưới (Mesh):

Định nghĩa 1: Lưới tam giác (Triangle mesh) là một loại của đa giác

lưới trong đồ họa máy tính Nó bao gồm một tập hợp các hình tam giác được kết nối bởi các cạnh hoặc góc chung của nó

Hình 1.6 Mô hình lưới tam giác

Định nghĩa 2: Khối đa giác (Polygon mesh) là một tập các đỉnh, cạnh

và mặt để xác định hình dạng của mô hình đối tượng 3D đồ họa máy

Trang 20

tính và mô hình vật rắn Các mặt của khối thường bao gồm các hình tam giác, tứ giác, hoặc đa giác lồi, điều này giúp đơn giản hoáviệc dựng hìnhđối tượng (có thể bao gồm các đa giác lõm hoặc đa giác có lỗ)

Trong luận văn này tập trung vào giải quyết các mô hình dạng lưới tam giác, lưới tam giác M ( , F)V là một cặp, trong đó có chứa một danh sách các đỉnh V và một danh sách các mặt hình tam giác F Cả danh sách đỉnh

1 2

( , , , m)

các chỉ số của nó Mỗi chỉ số của danh sách có thể truy cập với một số nguyên

Để mô tả một lưới tam giác, hai loại thông tin cần có:

- Thông tin hình học: Thông tin không gian của tất cả các tọa độ đỉnh

- Thông tin liên kết: Kết nối các đỉnh để tạo thành các cạnh và mặt

1.2.2 Giới thiệu bài toán rút gọn

Khái niệm rút gọn lưới:Rút gọn mô hình 3D là[3] nghiên cứu một lớp các

thuật toán nhằm giảm thiểu số mặt của một lưới bề mặt sao cho vẫn giữ lại được một cách tương đối hình dạng ban đầu của vật thể đó (Hình 1.8) Cụ thể là: Thu được lưới mới có ít mặt, cạnh, và đỉnh nhưng vẫn giữ được hình dạng của lưới ban đầu càng nhiều càng tốt; làm giảm sự phức tạp của một lưới đã cho

Để giảm thiểu không gian bộ nhớ của mô hình, một trong những cách

tiếp cận là giảm thiểu số bề mặt biểu diễn mô hình.Các thuật toán "giảm thiểu

Trang 21

bề mặt" biểu diễn một vật thể trong không gian ba chiều hiện nay là không

nhiều đối với đa số các ứng dụng thực tại ảo[1].Trong thực tế, không phải lúc nào chúng ta cũng cần biểu diễn một vật thể trong không gian ba chiều với chất lượng như thật Hơn nữa, mức độ chất lượng hình ảnh của cùng một vật thể khi hiển thị cũng có thể thay đổi theo cách nhìn (viewport) Ví dụ, khi quan sát một vật thể chẳng hạn như bản đồ vệ tinh, tại vị trí ta đang sống Google Maps vẫn cho chúng ta hình dung được dãy nhà, khu phố ta đang sống một cách chấp nhận được, hoặc trong giao thông dối tượng chính của chúng ta

là đường đi, các dịch vụ phục vụ cho giao thông như cầu cống, trạm thu phí, cây xăng được coi trọng hơn các vật thể bên đường Hai hình dưới đây là một minh họa cho điều này

Hình 1.7 Minh họa về việc giảm thiểu bề mặt 2D

Hình 1.8 Minh họa về việc giảm thiểu bề mặt 3Dtheo các mức khác nhau

Như vậy [1], trong các ứng dụng đồ hoạ ba chiều nảy sinh một vấn đề là nghiên cứu một lớp các thuật toán nhằm giảm bớt số mặt của một đa diện biểu diễn vật thể sao cho vẫn giữ lại được một cách tương đối hình dạng ban đầu của vật thể đó Tùy theo cách phân loại, các tiêu chí phân loại có thể kể tới là:

Dựa trên ứng dụng: Các ứng dụng GIS hay các bài toán mô phỏng địa

Trang 22

hình Một số khác được dành cho các ứng dụng tổng quát nên các ràng buộc vào dữ liệu đầu vào ít hơn Ngược lại với các mô hình khoa học, y học, chế tạo máy thì việc giảm thiểu bề mặt ít được áp dụng vì nó đòi hỏi độ chính xác rất cao

Dựa trên các ràng buộc ban đầu: Có những thuật toán chú trọng tới

việc giữ lại hình dạng vật thể Tuy nhiên, cũng có những thuật toán chấp nhận mất mát bớt đi một phần thông tin để có thể đạt được tốc độ xử lý cao

Dựa trên phương pháp đánh giá sai số:Một trong những điều quan

trọng nhất của các thuật toán rút gọn bề mặt là cách thức đánh giá sai số của vật thể mới tạo ra so với vật thể ban đầu, qua đó đánh giá và so sánh được kỹ thuật nào là tốt hơn để lựa chọn

1.2.3 Một số cách tiếp cận trong rút gọn lưới3D:

Các thuật toán thường gặp liên quan để giảm sự phức tạp của các mắt lưới có thể được tạm chia thành năm lớp sau đây:

1) Phân cụm đỉnh (Vertex Clustering): Các thuật toán phân cụm đỉnh[4]thực hiện chia toàn bộ lưới thành một lưới với các ô kích cỡ đều Tất

cả các đỉnh chia sẻ cùng một ô được sáp nhập lại với nhau thành một đỉnh duy nhất.Để đạt được mô hình thô, kích thước của các cụm phải được tăng lên lặp

đi lặp lại Ưu điểm của kỹ thuật này là việc thực hiện nhanh chóng và đơn giản Chất lượng đầu ra thường là rất xấu

2) Đỉnh phần mười (Vertex Decimation): Kỹ thuật đỉnh phần mười được [5] phát triển rất sớm để lấy lưới một phần mười Các thuật toán lặp đi lặp lại việc chọn một đỉnh từ lưới, loại bỏ tất cảmặt kề nhau và lấp các lỗ bằng cách tái thiết tam giác.Ưu điểm: thuật toán đơn giản, nhanh;Nhược điểm: tốn

bộ nhớ

3) Lặp đi lặp lại việc bó cạnh (Iterative Edge Contraction): Đây có thể được coi là một phương pháp lai giữa hai thuật toán trên Do đó, thuật toán

Trang 23

đơn giản hóa bề mặt bằng cách sử dụng số liệu lỗi bậc hai là có chất lượng tốt[6] Nó là một kỹ thuật của các thuật toán bócạnh lặp đi lặp lại

4) Tái thiết mắt lưới (Re-Tiling): Tái thiết bề mặt, lần đầu tiên được giới thiệu bởi Turk [7], mô tả phương pháp tự động sản sinh ra mô hình với nhiều cấp độ chi tiết từ một mô hình đa giác ban đầu Với việc tái thiết đó, một tập mới của đỉnh được phân bố lại trên bề mặt của mô hình Nó rất thích hợp cho các bề mặt cong nhưng nó không hoạt động tốt cho các góc nhọn và cạnh.Ưu điểm: Bảo tồn cấu trúc liên kết; Nhược điểm: Thuật toán phức tạp, bảo toàn hình dạng không tốt

5) Mặt sóng (Wavelets): Sử dụng Wavelets trong giảm thiểu bề mặt

lưới đã được giới thiệu bởi Gross[8] Sự mở rộng của wavelets từ hình ảnh 2D thông thường để mắt lưới 3D bất thường gồm các kỹ thuật dựng lại lưới

Trang 24

CHƯƠNG 2

MỘT SỐ KỸ THUẬT RÚT GỌN BỀ MẶT MÔ HÌNH 3D

Nội dung chính của chương này trình bày chi tiết về hai kỹ thuật được sử dụng phổ biến trong các ứng dụng rút gọn bề mặt mô hình 3D dạng lưới tam giác (Triangle Mesh) Mỗi kỹ thuật dưới đây sẽ đại diện cho một cách tiếp cận của bài toán

2.1 Rút gọn lưới bằng kỹ thuật PM (ProgressiveMeshes)

2.1.1 Ý tưởng

Hoppe[9] mô tả một phương pháp tối ưu hóa lưới, có thể được sử dụng

để đưa lướiM ban đầu thành một lưới đơn giản hơn Thuật toán tối ưu hóa của

ông (xem trong phần:Tóm lược: Tối ưu hóa lưới) đi qua không gian của các mắt lưới có thể bằng cách liên tục áp dụng một tập hợp của ba sự chuyển đổi lưới: Bó cạnh, tách cạnh, và hoán đổi cạnh Trong thực tế, một đại diện của những biến đổi chính làbó cạnh, nó là một kỹ thuật đầy đủ đểđơn giản hóa mắt lưới một cách hiệu quả Như thể hiện trong (Hình 2.1), bó cạnh ecol( v v s, t

Hình 2.1 Minh họa việc chuyển bó cạnh (ecol: hợp; vsplit: tách)

Hình 2.2(a) Trình tự bó cạnh; (b) Kết quả đỉnh tương ứng

Trang 25

Hợp nhất 2 đỉnh kề v s và v t vào một đỉnh duy nhất v s , đỉnh v t và hai mặt kề nhau v v v và s, ,t l v v v biến mất trong quá trình này, đỉnh v t, ,s r s là đỉnh mới

có thể đơn giản hóa thành một lưới

thô M 0 bằng cách áp dụng một chuỗi các biến đổi bó n cạnh liên tiếp:

Các trình tự cụ thể của biến đổi bó cạnh phải được chọn lựa kỹ càng, vì

nó quyết định chất lượng của các mắt lưới xấp xỉ M i , i<n Một kỹ thuật cho

việc lựa chọn những bó cạnh được trình bày trong phần2.1.7

Cho m 0 là tổng số cạnh trong lưới M 0, ta hãy đánh nhãn cho các đỉnh trên

Vấn đề chủ chốt chính là một sự chuyển đổi bó cạnh là khả nghịch.Hãy

gọi đó là biến đổi nghịch đảo của phân tách đỉnh, hiển thị như vsplit trong

(Hình 2.1).Một đỉnh tách chuyển đổi vsplit s l r t A thêm vào gần đỉnh v, , , , s

một đỉnh v t mới và hai mặt mới v v v và s, ,t l v v v (Nếu cạnh t, ,s r v v là s, t

chuyển đổi cũng cập nhật các thuộc tính của lưới trong khu vực lưới chuyển

đổi Thông tin thuộc tính này, biểu diễn bằng A, bao gồm các vị trí v s và v t của hai đỉnh bị ảnh hưởng, các thuộc tính rời rạc d v v v và s, ,t l d v v v của hai t, ,s rmặt mới, và các thuộc tính vô hướng của các góc bị ảnh hưởng

( ( ), ( ), (s v s s v t s v v v v s, ,t l ) & (s v r v v v t, ,s r ))

Bởi vì biến đổi sụp đổ cạnh là khả nghịch, do đó có thể đại diện cho một

cùng với một chuỗi tuần tự các bản ghi của n sự phân tách:

Trang 26

2.1.2 Thuật toán PM (ProgressiveMeshes)

Input: Lưới gốc M n , Số Phần trăm rút gọn

Output: Lưới mục tiêu M với số mặt lưới ít hơn

Bước 1 Sắp xếp các cạnh theo thứ tự tăng dần, sử dụng hàm giá nhỏ nhất (least cost function) Giá của một cạnh có thể đánh giá theo nhiều tiêu chí khác nhau như: độ dài cạnh, độ cong của các mặt, texture… Từ đó xác định được cạnh có giá nhỏ nhất

Bước 2.Chọn vị trí cho đỉnh mới.Vị trí này có thể nằm trên cạnh nối giữa hai đỉnh cũ hoặc không Vị trí này phải được xác định sao cho mẫu tạo được sau khi thu gọn cạnh và thay thế hai đỉnh cũ bằng một đỉnh mới phải giống điểm ban đầu nhất

Bước 3 Áp dụng toán tử bó cạnh (edge collapse operation) đối với cạnh

có giá trị nhỏ nhất và ghi nhận sự thay đổi tương ứng do phép bó cạnh gây ra Bước 4 Tính lại giá của các cạnh thu được sau khi thực hiện các bước trên và cập nhật lại danh sách các cạnh cá giá tăng dần

Bước 5 Nếu các cạnh trong danh sách đã được lấy hết ra để xử lý hoặc cạnh có giá nhỏ nhất tiếp theo được lấy ra xử lý đã đạt được một ngưỡng nào

đó thì giải thuật kết thúc, không thì quay lại Bước 2

Trang 27

Tối ưu hóa vị trí v new để tạo đỉnh mới V '

2.1.3 Diện mạo của lưới:

Kế thừa ưu việt của việc chuyển đổi bó cạnh (và tính khả đảo của nó) là một quá trình chuyển đổi hình ảnh mịn (một diện mạo) có thể được tạo ra giữa

&

rằng các lưới chỉ chứa các thuộc tính là vị trí đỉnh Với giả định này bản ghi

0

1 1

Sử dụng các diện mạo như vậy, một ứng dụng có thể thông suốt quá trình

để có lướiM i + 1 hoặc M i-1 mà không có bất kỳ "bất thường" của các mắt lưới được nhìn thấy

Hơn nữa, từ việc chuyển đổi ecol riêng lẻ có thể được chuyển đổi thuận

Trang 28

lợi Diện mạo do đó có thể được xây dựng giữa hai lưới bằng kỹ thuật PM Do

vậy, cho một lưới M f

tốt hơn và một lưới thô M c,0 c n tồn tại một sự

có liên quan đến

bởi một bản đồ toàn ánhA c thu được bằng

cách sắpxếp một chuỗi các biến đổi ecol (Hình 2.2) Chính xác hơn, mỗi v j

(Trong thực tế, thông tin tổ tiên này A c

được tập hợp trong một trang phía trước như lưới là tái tinh chế).Điều này cho phép chúng ta xác định một diện

và M G (1) tương đương với M f

Thuộc tính rời rạc do bản chất của chúng không có thể nội suy được thuận lợi Nhưng đáp lại, những thuộc tính rời rạc được kết hợp với mặt của lưới, và các diện mạo "hình học" được mô tả ở trên là mặt trơn tru Đặc biệt,

quan sát thấy mặt của M c

là một tập hợp con phù hợp trong những mặt của

M f và những mặt của M f bị mất trongM c

là vô hình trong M G (0) bởi vì chúng đã

bị bó cứng (khu vực trống) hình tam giác Đề ándiện mạo khác [[10][11][7]]xác địnhtốt tham số nghịch giữa các mắt lưới ở các cấp độ chi tiết khác nhau, nhưng chúng không cho phép triển khai diện mạo giữa các mắt lưới với các thuộc tính rời rạc khác nhau

Trang 29

Những thuộc tính vô hướng trên các góc có thể được nội suy dễ dàng

giống như các vị trí đỉnh Có một cản trở nhỏ ở góc (v,f) trong một lưới M không được kết hợp tự nhiên vớibất kỳ "góc gốc" trong một lưới thô M c

nếu f

giá trị thuộc tính (v,f) có trong M c

như sau Chúng ta kiểm tra lưới M i + 1, trong

đó f là mặt đầu tiên được xét, xác định vị trí một góc láng giềng (v,f’) trong M i + 1

mà thuộc tính giá trị là như nhau và đệ qui quay lui từ nó vào một góc trong

với một giá trị thuộc tính giống

và do đó chúng ta giữ giá trị thuộc tính của nó liên tục thông qua diện mạo

2.1.4 Truyền tải lũy tiến

Mắt lưới lũy tiến là một đại diện cho truyền tải lũy tiến tự nhiên Các lưới

được truyền đầu tiên f i (sử dụng định dạng độ phân giải uni thông

thường), tiếp theo là luồng ghi vsplit i Quá trình tiếp nhận, từng bước xây

dựng lại M như các bản ghi đến, làm các lưới thay đổisống động Những thay

đổi của lưới có thể thuđược diện mạo để tránh gián đoạn thị giác Các lưới ban

đầu Mthu hồi chính xác sau khinhận được tất cả bản ghin, vì PM là một kỹ

thuậtkhông làm mất diện mạo ban đầu Các tính toán của quá trình tiếp nhận

được cân bằng giữa việc tái và hiển thị M khi tương tác Với một sự truyền tải

chậm, một kỹ thuật đơn giản là để hiển thị các lưới hiện bất cứ khi nào khi bộ đệm đầu vào được tìm thấy là rỗng Với một đường truyền thông nhanh chóng, chúng tathấy rằng một chiến lược tốt là để hiển thị các mắt lưới có độ phức tạp tăng theo cấp số nhân

2.1.5 Nén lưới

Mặc dù kỹ thuật PM trình bày mã hóa cả lướiM và một hệ thống liên tục

gần đúng, hiệu quả không gian nó thu được là đáng chú ý vì hai lý do Thứ nhất, các vị trí của các đỉnh tách, biến đổi có thể được mã hóa chính xác Thay

Trang 30

vì lưu trữ cả ba chỉ số đỉnh (s i ,l i ,r i ) của vsplit i , ta chỉ cần lưu trữ s i và khoảng

hai, do tách đỉnh có tác dụng tại chỗ, người ta có thể mong đợi đáng kể sự gắn kết trong thuộc tính lưới qua từng biến đổi Ví dụ, khi đỉnh

i

i s

v

0

1 1

v , và sử dụng mã hóa delta để giảm dung lượng lưu trữ Thuộc tính vô hướng của các góc trong M i 1 tương tự có thể được dự đoán từ những gì trong M i Cuối cùng, nhận biết cần thiết , ,

M chỉ sử dụng một

vài bit điều khiển

Kết quả là, kích thước của kỹ thuật PM được thiết kế cẩn thận nên có ưu thế hơn so với các phương pháp nén lưới độ phân giải unithu được Tuy nhiên,

chúng ta phân tích nén của các kết nối K, và báo cáo kết quả nén của diện

= 0 vì

thườngm0  n

Một diện mạo chung cho các kết nối lưới K là liệt kê ba chỉ số đỉnh cho từng mặt Khi số đỉnh là n và số lượng mặt khoảng 2n, một danh sách như

vậy đòi hỏi 6 log ( )2 n n bit lưu trữ Sử dụng một bộ đệm của 2 đỉnh, đại diện

dải tam giác tổng quát giảm con số này xuống còn khoảng ( log ( )2 n n 2 )k n

bắt các mã thay thế đỉnh [12] Bằng cách tăng kích thước bộ đệm đỉnh đến 16, lưới tam giác tổng quát[12]đã làm giảm hơn nữa để dung lượng lưu trữ về

Trang 31

Taubin và Rossignac [13]cho kết quả lưới tổng quát hơn Với kỹ thuật PM,

mỗi vsplit i đòi hỏi sự minh bạch của s i và hai láng giềng, với tổng dung lượng khoảng( log ( )2 n 5)n bit Mặc dù không phải là ngắn gọn như [[12][13]],

nhưng đây là so sánh với dải tam giác tổng quát

Một biểu diễn truyền thống của hình học lưới V yêu cầu lưu trữ của tọa

độ 3n, hoặc 96n bit với IEEE chính xác đơn điểm f ltự do Giống như Deering[12], chúng ta giả định rằng các tọa độ có thể được lượng tử hóa 16bit

cổ định giá trị chính xác mà không trọng yếu f i mất chất lượng hình ảnh, do đó làm giảm lưu trữ để 48n bit Deering nén thêm dung lượng này bằng mã hóa delta các tọa độ lượng tử hóa và nén Huffman các vùng phẳng chiều dài thay đổi Đối với 16bit lượng tử, ông đã báo cáo lưu trữ 35.8N bit, trong đó bao gồm cả các vùng bằng và các mã Huffman Sử dụng một cách tiếp cận tương

tự với kỹ thuật PM, mã tưởng tượng V trong 31n đến 50n bit Để có được

những kết quả này, sử dụng một tính chất của thuật toán tối ưu hóa (Phần: Bảo quản hình dạng lưới): khi xem xét sự bó của một cạnh v v , nó xét ba điểm s, t

2

và sử dụng các bảng Huffman riêng biệt cho tất cả cácdấu hiệu

Để nâng cao hơn nữa hiệu quả nén, chúng ta có thể thay đổi các thuật

2

độ chính xác của mắt lưới, nhưng cho phép mã hóa của V trong30n đến37nbit

trong ví dụ của chúng ta Mã hóa Arithmetic [15]có độ dài phẳng không cải

thiện đáng kể kết quả trong f i, tái phản chiếu, thực tế là các cây Huffman cũng

Trang 32

được cân bằng.Cải tiến nén hơn nữa có thể đạt được bằng cách thích ứng cả hai cấp độ lượng tử và các mô hình chiều dài phẳngchức năng của các chỉ số

kỷ lục vsplit i, vì cường độ thay đổi liên tục có xu hướng giảm

2.1.6 Làm mịn có chọn lọc

PM cũng hỗ trợ chọn lọc tinh xảo, theo đó chi tiết được thêm vào mô hình duy nhất trong khu vực mong muốn Ứng dụng cung cấp một chức năng

tinh chỉnh REFINE(v) trả về một giá trị Boolean cho biết mỗi khu vực của

đang đượctinh chỉnhbằng cách duyệt qua danh sách vsplit c, ,vsplit n 1 như trước, nhưng chỉ thực hiện vsplit s l r A i( , , ,i i i i) nếu:

(Đỉnh v vắng mặt trong lưới nếu việc tách đỉnh trước đã đưa nó vào, vì j

thế

0

- -1

j m

vsplit đã không được thực hiện do các điều kiện trên)

Như một ví dụ, để có được chọn lọc lại phục vụ cho tinh chỉnh mô hình

i s REFINE v là TRUE nếu một trong hai v hoặc

bất kỳ láng giềng của nó nằm trong các hình cụt.Rắc rối là một đỉnh

i s

hình cụt có thể không được phân chia bởi vì láng giềng

i l

v dự kiến của nó

nằm ngay bên ngoài các hình cụt và không được tạo ra trước đó.Vấn đề được khắc phục bằng cách sử dụng nới lỏng điều kiện (1).Chúng tađịnh nghĩa tổ tiên gần nhất của một v đỉnh là đỉnh với chỉ số: j

0

- -1

, '( )

Trang 33

đều tiếp giáp với

i s

v Như khi xây dựng các diện mạo, thông tin tổ tiên A’ được thực có hiệu quả như các bản ghivsplit được phân tích.Nếu điều kiện (1)

và (2) được đáp ứng thì vsplit s A l i, ' i , 'A r i A được áp dụng cho lưới i

và đo đó thu được lưới làm mịn Một ứng dụng thú vị của làm mịn là việc truyền tải của các mô hình điểm phụ thuộc trên các đường truyền băng thông thấp Khi xem những thay

đổi nhận đượctheo thời gian, quá trình gửi chỉ cần truyền các bản ghivsplitvới

REFINE là TRUE, và của những cái màchưa được truyền trước đó

ví dụ như "khoảng cách đến mặt phẳng" Schroeder[5].Ở một góc độ khác, người ta có thể cố gắng để tìm kiếm xấp xỉ lưới đó là tối ưu đối với sự bảo tồn

vẻ ngoài của mô hình, ví dụ các số liệu hình học E dist của Hoppe [9]

Từ khi xây dựng PM, một xử lý trước đó có thể được thực hiện trực tuyến, nó có một qui trình đơn giản hóa mô hình tiết kiệm thời gian trong việc lựa chọn bó cạnh Thủ tục của đó cũng tương tự như các phương pháp tối ưu lưới giới thiệu bởi Hoppe[9], được tóm tắt tại mục 2.1.8.và2.1.9 trình bày một

Trang 34

cái nhìn tổng quan về thủ tục này, và từ mục 2.1.10 đến 2.1.13 trình bày các chi tiết của chương trình tối ưu hóa của chúng tôi để bảo quản cả hình dạng của lưới và các thuộc tính rời rạc, vô hướng mà khi tạo ra nó xuất hiện

2.1.8 Tóm lược: Tối ưu hóa lưới

Mục tiêu của tối ưu hóa lưới [9] là tìm một lưới M = (KV) mà cả hai phù

i

Vấn đề này được đề cập để giảm thiểu giá trị của một hàm năng lượng

( ) dist( ) rep( ) spring(M)

Các biện pháp tổng bình phương của khoảng cách từ điểm lưới và các

đề tối ưu hóa Nó tương ứng với cách đặt trên mỗi cạnh của lưới có chiều dài

Trang 35

Hình 2.3 Minh hoạ của các đường dẫn được thực hiện bởi tối ưu hóa bằng cách sử dụng

lưới ba thiết lập khác nhau của C rep

Các chức năng năng lượng E(M) được giảm thiểu bằng cách sử dụng một

phương pháp tối ưu hóa lồng nhau:

Vòng ngoài: Các thuật toán tối ưu hóa hơn K, các kết nối của lưới, bằng

cách cố ngẫu nhiên một bộ ba biến đổi lưới có thể có: bó cạnh, tách cạnh, và

co cạnh Nghĩa là bất kỳ sự phức tạp nào của K như loại tôpô đều có thể đạt

điều đó thông qua một chuỗi các phép biến đổi trên Đối với mỗi chuyển đổi lưới đề xuất, K K', tối ưu hóa liên tục được mô tả dưới đây tính E K!, tối

việc chuyển đổi lưới được áp dụng

Vòng trong: Đối với mỗi đề xuất lưới chuyển đổi, các thuật toán tính

E E V E V bằng cách tối ưu hơn các vị trí đỉnh V Vì

mục đích hiệu quả, các thuật toán trong thực tế tối ưu hóa chỉ có một vị trí

đỉnh v s , và chỉ xem xét các tập hợp con của các điểm X vào các khu lưới bị ảnh

cạnh nếu góc nhị diện tối đa của các cạnh trong khu lưới thu được vượt quá một ngưỡng nào đó

Hoppe [9] tìm ra thuật ngữ E springlàrất quan trọng trong giai đoạn đầu của việc tối ưu hóa, và đạt được kết quả tốt nhất bằng cách liên tục gọi phương

Trang 36

thức tối ưu hóa lồng nhau được mô tả ở trên với một lịch trình giảm hằng số

K

Tối ưu hóa lưới được chứng minh là một công cụ hiệu quả nhằm đơn

giản hóa mô hình lưới Cho một lưới M ban đầu, một tập dày đặc của các điểm

X được lấy mẫu ở cả các đỉnh của M và ngẫu nhiên trên bề mặt của lưới Các thuật toán tối ưu gọi M là lưới đầu vào Thay đổi các thiết lập của các đại diện

kích thước Các đường dẫn được thực hiện bởi những tối ưu hóa được thể hiện trong (Hình 2.3.)

2.1.9 Tổng quan về các thuật toán đơn giản hóa lưới

Như trong tối ưu hóalưới [9], chúng ta đã xác địnhđại lượngnăng lượng

E(M) để đo độ chính xác của lưới đã đơn giản hóa M K V D S so với , , ,

bản gốc M, sửa đổi lưới M bắt đầu từ M trong khi giảm thiểu E(M)

Đại lượngnăng lượng có công thức sau:

( ) dist( ) spring( ) scalar( ) disc( )

Hai thuật ngữ đầu tiên, E dist(M) và E spring(M là giống với[9] Hai thuật )

ngữ tiếp theo của E(M) được thêm vào để bảo tồn các thuộc tính liên quan đến

2.1.10), và E disc(M) đo độ chính xác hình học của đường cong đứt đoạn của

nó (Mục 2.1.12) Để đạt được qui mô bất biến của các thuật ngữ, các lưới

được mở rộng để thống nhất phù hợp trong một đơn vị khối lập phương

Trang 37

Hình 2.4 Minh hoạ PM đường dẫn thực hiện thủ tục đơn giản hóa lưới trong một đồ thị vẽ

chính xác so với kích thước mắt lưới

Chương trình ối ưu hóa kết nối qua các K của lưới là khá khác

nhau[9].Một lưới có thể được tối ưu hiệu quả sử dụng biến đổi bó cạnh Các trao đổi cạnh và tách hợp hữu ích trong bối cảnh tái thiết các mắt lưới, không cần thiết cho đơn giản hóa Mặc dù về nguyên tắc thuật toán đơn giản lưới không có thể đi qua toàn bộ không gian của mắt lưới đã được coi là tối ưu hóa, mắt lưới được tạo ra bởi thuật toán là tốt Trong thực tế, bởi vì các phương pháp tiếp cận hàng đợi ưu tiên được mô tả dưới đây, mắt lưới bằng kỹ thuật

PM thường là tốt hơn.Hơn nữa, xem xét chỉ thực hiện đơn giản hóa bằng cách điều khiển sự bó cạnh, cải thiện hiệu suất, và quan trọng nhất, làm tăng tính phổ dụng của PM (Mục 2.1.3)

Để thay đổi sự ngẫu nhiên trong biến đổi lưới[9], bó cạnh đề xuất vào

của nó) Trong mỗi lần lặp thực hiện việc chuyển đổi ở phía trước của hàng

lưới ảnh hưởng bởi sự biến đổi này Như một hệ quả, ta loại bỏ sự cần thiết

cho các tham số C repkhó xử lý cũng như các giới hạn năng lượng E rep(M) Thay vào đó, chúng ta có thể xác định một cách rõ ràng số lượng mặt mong

Ngày đăng: 15/03/2017, 14:29

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w