Thông tin tóm tắt về những đóng góp mới của luận văn thạc sĩ: Sử dụng kỹ thuật "Phễu" và "Cây phễu" để tìm đường đi ngắn nhất trên bề của mặt khối đa diện.

57 15 0
Thông tin tóm tắt về những đóng góp mới của luận văn thạc sĩ: Sử dụng kỹ thuật "Phễu" và "Cây phễu" để tìm đường đi ngắn nhất trên bề của mặt khối đa diện.

Đ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

Trong chương này, luận văn trình bày thủ tục lật phẳng một dãy mặt tam giác theo các cạnh chung và việc xác định đường đi ngắn nhất từ một điểm nguồn s tới các đỉnh còn lại trên bề mặt c[r]

(1)

VÀ ĐÀO TẠO VÀ CÔNG NGHỆ VIỆT NAM

HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ -

Nguyễn Thị Mỹ Hạnh

SỬ DỤNG KỸ THUẬT “PHỄU” VÀ “CÂY PHỄU” ĐỂ TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN BỀ MẶT CỦA KHỐI ĐA DIỆN

LUẬN VĂN THẠC SĨ TOÁN HỌC

(2)

HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ -

Nguyễn Thị Mỹ Hạnh

SỬ DỤNG KỸ THUẬT “PHỄU” VÀ “CÂY PHỄU” ĐỂ TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN BỀ MẶT CỦA KHỐI ĐA DIỆN

Chuyên ngành: Toán ứng dụng Mã số: 8460112

LUẬN VĂN THẠC SĨ TOÁN HỌC

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS Phan Thành An

(3)

Tôi xin cam đoan kết đề tài: Sử dụng kỹ thuật “phễu” “cây phễu” để tìm đường ngắn bề mặt khối đa diện trình bày ba báo [7], [10] [5], ví dụ số liệu luận văn trung thực Nếu không nêu trên, tơi xin hồn tồn chịu trách nhiệm đề tài

(4)

Lời luận văn xin gửi lời cảm ơn chân thành tới PGS TS Phan Thành An hướng dẫn tơi hồn thiện luận văn Mặc dù bận rộn với công việc thầy ln dành thời gian q giá để hướng dẫn bảo tơi tận tình Trong q trình làm luận văn thân tơi cịn có nhiều thiếu sót, nhiên thầy ln ln động viên tạo điều kiện tốt để tơi hồn thiện luận văn

Tơi xin bày tỏ lịng biết ơn sâu sắc tới tồn thể thầy Viện Tốn học truyền đạt, chia sẻ cho tơi kiến thức bổ ích Đồng thời, xin bày tỏ biết ơn sâu sắc tới thầy cô anh chị em Học viện Khoa học Công nghệ giúp đỡ quan tâm tơi suốt q trình học tập

Tôi xin gửi lời cảm ơn tới gia đình, bạn bè anh chị nhóm nghiên cứu ln cổ vũ, động viên, giúp đỡ tơi q trình tham gia nhóm nghiên cứu để củng cố kiến thức trau dồi kĩ sử dụng phần mềm hỗ trợ cho đề tài

(5)

LỜI CAM ĐOAN

LỜI CẢM ƠN

DANH MỤC KÍ HIỆU

MỞ ĐẦU

1 TÌM ĐƯỜNG ĐI NGẮN NHẤT GIỮA HAI ĐIỂM TRONG

ĐA GIÁC ĐƠN

1.1 ĐA GIÁC ĐƠN 1.2 ĐỒ THỊ, CÂY VÀ CHU TRÌNH, CÂY ĐỐI NGẪU 1.3 HÌNH ỐNG TAY VÀ HÌNH “PHỄU” 11 1.4 THUẬT TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT GIỮA HAI

ĐIỂM TRONG ĐA GIÁC ĐƠN 14

2 TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN BỀ MẶT CỦA

KHỐI ĐA DIỆN 19

2.1 PHÉP LẬT 19 2.2 THUẬT TOÁN DÙNG NGUỒN SÁNG VÀ BĨNG 23

3 TÌM ĐƯỜNG ĐI NGẮN NHẤT GIỮA HAI ĐIỂM TRONG MỘT DÃY MẶT TAM GIÁC TRONG KHÔNG GIAN

BA CHIỀU 31

3.1 ĐƯỜNG TRẮC ĐỊA THẲNG NHẤT VÀ CÁC PHỄU DỌC THEO DÃY MẶT TAM GIÁC TRONG KHÔNG GIAN BA

CHIỀU 31

(6)

3.2 THUẬT TỐN TÌM CHÍNH XÁC ĐƯỜNG ĐI NGẮN NHẤT GIỮA HAI ĐIỂM DỌC THEO DÃY MẶT TAM

GIÁC 35 3.3 ỨNG DỤNG THUẬT TỐN NFU TÌM ĐƯỜNG ĐI NGẮN

NHẤT TỪ MỘT ĐIỂM TỚI TẤT CẢ CÁC ĐIỂM TRÊN

BỀ MẶT KHỐI ĐA DIỆN 43

KẾT LUẬN 51

(7)

DANH MỤC KÍ HIỆU

[a, b] Một đoạn thẳng giới hạn hai điểm a b E = (e1, , em) Một dãy cạnh chung

F = (f1, , fm+1) Một dãy mặt có m + tam giác liền kề

Fpq(s) Một phễu dọc theo F tương ứng với [p, q] có chóp điểm s G Một đồ thị vô hướng

P = (q1, q2, , qn) Một đa giác đơn có n đỉnh di Một đường chéo đa giác P vi(1); vi(2) Hai điểm đầu mút đường chéo di SP (s, vi(j)) Đường ngắn từ s tới điểm cuối vi(j)

Ri Phễu giới hạn SP (v, vi(1)), SP (v, vi(2)) đường chéo di Iei Ảnh của điểm nguồn s lên cạnh ei

(8)

MỞ ĐẦU

Hiện nay, vấn đề nhà khoa học nghiên cứu lĩnh vực tối ưu, hình học tính tốn tính đường ngắn hai điểm bề mặt khối đa diện, điều có ích ngành cơng nghiệp chế tạo rô-bốt, tối ưu hệ thống thông tin địa lý điều hướng (xem [1, 2, 3, 4]) Để giải tốn nói trên, nhiều nhà khoa học đưa phương án cho việc tìm đường ngắn hai điểm dãy mặt tam giác bề mặt khối đa diện (xem [5, 6])

(9)

Luận văn trình bày lại số thuật tốn tìm đường ngắn đa giác đơn, khối đa diện dãy mặt tam giác không gian ba chiều theo ba chương

Chương 1: Tìm đường ngắn hai điểm đa giác đơn Chương đầu tiên, luận văn trình bày lại số khái niệm lý thuyết đồ thị, giới thiệu khái niệm đa giác đơn, đối ngẫu để từ hình thành khái niệm hình ống tay, hình phễu Bên cạnh đó, luận văn trình bày thuật tốn tìm đường ngắn hai điểm đa giác đơn Lee Preparata (hay cịn gọi thuật tốn "Phễu") năm 1984 [7] đưa ví dụ minh hoạ cho thuật tốn

Chương 2: Tìm đường ngắn bề mặt khối đa diện Trong chương này, luận văn trình bày lại khái niệm phép lật dãy mặt tam giác lên mặt phẳng, định nghĩa hình chiếu ảnh nguồn lên cạnh, bóng hình chiếu thuật tốn "tìm đường ngắn từ điểm nguồn tới tất đỉnh lại bề mặt khối đa diện" việc sử dụng nguồn sáng bóng Thuật tốn trình bày [10] năm 1990

(10)

Chương 1

TÌM ĐƯỜNG ĐI NGẮN NHẤT GIỮA HAI ĐIỂM TRONG ĐA GIÁC ĐƠN

Trong chương này, luận văn trình bày lại số kiến thức lý thuyết đồ thị, khái niệm đa giác đơn, đối ngẫu, hình ống tay “Phễu” không gian hai chiều trình bày tảng để xây dựng thuật tốn tìm đường ngắn hai điểm đa giác đơn có sử dụng kĩ thuật “Phễu”

1.1 ĐA GIÁC ĐƠN

Để giải tốn tìm đường ngắn hai điểm

s t nằm đa giác đơn mà đường ngắn khơng cắt biên đa giác, chúng tơi trình bày lại vài định nghĩa sau:

(11)

Định nghĩa 1.1.1 [7] Một đường gấp khúc đơn dãy điểm qi

(i = 1, 2, , k), tất cặp điểm liền kề qi qi+1 nối

thành đoạn (i = 1, 2, , k − 1) khơng có hai đoạn khơng liên tiếp cắt (xem hình 1.1)

Khi chuỗi đường gấp khúc đơn vịng trịn khép kín xác định đa giác

Định nghĩa 1.1.2 [7] Một đa giác đơn có n đỉnh P = (q1, q2, , qn)

một chuỗi đa giác với qn+1 = q1, tức qn nối với q1 Một đường chéo

của P đoạn [qi, qj], j 6= i + khơng cắt cạnh

P P tam giác phân miền chia n −

tam giác n − đường chéo

Hình 1.2 Một đa giác đơn P = (q1, q2, q3, q4, q5, q6)

Hình 1.3 Đa giác đơn P tam giác phân đường chéo [q1, q3], [q3, q6], [q6, q4]

(12)

1.2 ĐỒ THỊ, CÂY VÀ CHU TRÌNH, CÂY ĐỐI NGẪU

Các khái niệm sau kiến thức sở cho tốn tìm đường ngắn đa giác đơn khối đa diện Ở đây, luận văn trình bày khái niệm liên quan đến đồ thị vơ hướng

Hình 1.4 Minh hoạ đồ thị vô hướng

Định nghĩa 1.2.1 [15] Một đồ thị vơ hướng G cặp có thứ tự G = (V, E), V tập khác rỗng gồm đỉnh, E tập gồm cạnh - cạnh có hai đầu mút tạo hai đỉnh đồ thị vô hướng G

Khi biểu diễn đồ thị vô hướng mặt phẳng ta biểu diễn đỉnh đồ thị đường tròn nhỏ, cạnh lại biểu diễn đường cong nối đỉnh cạnh Ta kí hiệu cạnh e giới hạn hai đầu mút hai đỉnh a b e = [a, b], a b gọi hai đỉnh kề nhau, hai cạnh có chung đỉnh gọi hai cạnh kề Cung dạng [b, b] với b ∈ V gọi khuyên (xem Hình 1.4) Bậc v số đỉnh kề với v

Ví dụ 1.2.1 Cho đồ thị G = (V, E) với V = {a, b, c, d, e} E =

{[a, b], [b, b], [b, c], [c, d], [d, e], [e, c]} Khi G đồ thị vơ hướng

(13)

Định nghĩa 1.2.2 [15] Với G = (V, E) đồ thị vô hướng, hành trình định nghĩa G dãy v0e1v1e2 envn cho với

i = 0, 1, 2, , n, vi ∈ V i = 1, 2, , n, ei cạnh kề đỉnh vi−1

và vi Khi đó, n gọi độ dài, v0 gọi đỉnh đầu, gọi

đỉnh cuối

Ta nói rằng, hành trình gọi khép kín đỉnh đầu đỉnh cuối trùng Một hành trình gọi đường đỉnh hành trình khác Một hành trình khép kín gọi chu trình có độ dài xố đỉnh cuối trở thành đường

Định nghĩa 1.2.3 [15] Một đồ thị G = (V, E) gọi liên thông hai đỉnh vi vj khác G tồn hành trình vơ hướng

trong G với đỉnh đầu vi đỉnh cuối vj

Định nghĩa 1.2.4 [15] Một đồ thị vơ hướng liên thơng khơng có khun, khơng có chu trình gọi

Hình 1.5 Minh hoạ

(14)

Định nghĩa 1.2.5 [7] Cây đối ngẫu đa giác đơn P tam giác phân đồ thị G = (V, E) cho nút V tương ứng với tam giác thuộc đa giác đơn P cạnh E nối hai nút thuộc V hai tam giác có chung đường chéo P

Ví dụ 1.2.2 Xét đa giác đơn P = (q1, q2, , q11) tam giác phân

bởi đường chéo [q2, q3], [q2, q4], [q4, q5],[q5, q6], [q6, q7], [q7, q8], [q8, q9],

[q6, q8] Xác định đối ngẫu đa giác đơn P

Hình 1.6 Đa giác đơn P tam giác phân đường chéo

Hình 1.7 Cây đối ngẫu đường màu đỏ đa giác đơn P

Kí hiệu 4(s) tam giác chứa điểm svà 4(t) tam giác chứa điểm

t, đường ngắn từ điểm s tới t đa giác đơn P π

Vì G = (V, E) nên G tồn

(15)

củaP điểm Hay nói cách khác, đường ngắn hai điểm s t đường gấp khúc bổ đề sau làm rõ điều

Bổ đề 1.2.1 [7] Xét đa giác đơn P có n đỉnh tam giác phân đường chéo, ta kí hiệu di (trong i = 1, , n − 3) Cho S

tập hợp tất điểm đầu mút đường chéo di (i = 1, , n − 3)

và đường ngắn nhất, tất đỉnh đường ngắn

s t nằm tập S ∪ {s, t}

Do S tập hợp điểm đầu điểm cuối đường chéo nên S tập hợp tất đỉnh đa giác đơn P Vậy để tìm đường ngắn hai điểm s t cần phải tìm đường ngắn từ s tới tất điểm đầu mút đường chéo P

và điểm cuối điểm t Hợp tất đường ngắn tạo thành G với gốc điểm s

1.3 HÌNH ỐNG TAY VÀ HÌNH “PHỄU”

Để tìm đỉnh G = (V, E) không cần phải xét hết tất đỉnh đa giác đơn P mà cần tìm miền thuộc đa giác đơn P chứa đường ngắn hai điểm s t Để xác định hình ống tay hay miền đa giác P cần xác định miền chứa đường ngắn từ s tới t

Định nghĩa 1.3.1 [7] Một đa giác đơn P tam giác phân gọi hình ống tay đối ngẫu đa giác đơn P đường gấp khúc đơn

(16)

Hình 1.8 Hình ống tay P0 miền tơ màu nâu

P có n đỉnh, s điểm thuộc hình ống tay P, di đường chéo P

(1 ≤ n ≤ n − 3) Chúng ta kí hiệu:

ˆ vi(1) vàvi(2) hai điểm đầu mút đường chéodi (với ≤ i ≤ n−3)

ˆ SP (s, vi(j))là đường ngắn từ stới điểm cuối vi(j)với (j = 1, 2)

nằm đa giác đơn P Theo Bổ đề 1.2.1 tập tất đỉnh mà đường SP (s, vi(j)) qua với (j = 1, 2) đỉnh thuộc đa giác

đơn P

ˆ Gọi v điểm chung SP (s, vi(1)) SP (s, vi(2)) cho v đỉnh

xa tính từ s

ˆ SPi = SP (s, vi(1)) ∪ SP (s, vi(2))

(17)

Định nghĩa 1.3.2 [7] Một miềnRi giới hạn bởiSP (v, vi(1)),SP (v, vi(2))

và đường chéo di với (1 ≤ i ≤ n − 3) gọi “phễu”, v gọi

chóp phễu

Giả sử đường gấp khúc đề cập sau khác rỗng, đóSP (v, vi(j))

với j = 1, đường gấp khúc lồi hướng vào Khi đó, chúng

ta có mệnh đề sau

Mệnh đề 1.1 [7] Nếu SP (v, vi(j)) đường gấp khúc lồi hướng vào

trong có nghĩa mặt lồi hướng vào miền P Chứng minh Bằng phương pháp quy nạp, phễu

Ri nằm hoàn toàn đa giác đơn P

Xét đường chéo ds, ds+1, , di−1 bị cắt đường gấp khúc

SP (v, vi(1)) SP (v, vi(2)) Rõ ràng, 4vv

(1)

s vs(2) = Rs nằm hoàn toàn

trong đa giác đơn P

Giả sử Ri−1 ⊂ P, miền Ri tạo thành từ miền

Ri−1 hợp thêm với phần toàn tam giác (tam giác chứa

cạnh di) nằm đa giác đơn P Từ đó, suy

Ri ⊂ P

Trong trường hợp SP (v, v(j)i ) khơng đường gấp khúc lồi theo bất đẳng thức tam giác (tổng hai cạnh lớn cạnh cịn lại), ta ln tìm đường ngắn từ v tới vi đường

ngắn ln nằm đa giác đơnP Điều trái với giả thiết ban đầu SP (v, vi(j)) đường ngắn từ v tới vi (xem Hình 1.10)

Tính chất lồi SP (v, v(1)i ) SP (v, v(2)i ) bị chia nhánh nhiều đỉnh v, chúng bị chia nhánh đỉnh

u1 lại gặp đỉnh u2 đó, hai đường gấp

khúc tách rời từ u1 tới u2 phải đường gấp khúc lồi Khi đó,

SPi = SP (v, v

(1)

i ) ∪ SP (v, v

(2)

i ), v gọi đỉnh hai đường gấp

khúc lồi hướng

Ở đây, hai đường gấp khúc rỗng (nhưng khơng thể hai đường gấp khúc rỗng, vìv(1)i 6= vi(2)) Nếu SP (v, vi(1)) rỗng rõ ràng SP (v, v(2)i ) = di ngược lại Trong trường hợp này, phễu Ri

(18)

Hình 1.10 Hình ảnh minh hoạ cho tính lồi SP (s, vi(j))

Để làm rõ ý nghĩa tính lồi trong, hai đường gấp khúc rỗng, tìm hiểu kĩ thuật tốn tìm đường ngắn hai điểm đa giác đơn Lee Preparata phần

1.4 THUẬT TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT GIỮA

HAI ĐIỂM TRONG ĐA GIÁC ĐƠN

Xuất phát từ đỉnh nguồn s thuật toán sau xây dựng đường SPi = SP (v, v

(1)

i ) ∪ SP (v, v

(2)

i ) chứa đường biên phễu Ri cho

tới tới điểm đích (tức vi(2) ≡ t), xét tốn sau: Bài tốn: Xét hình ống tay P hai điểm cho trước svà tthuộc hình ống tay P Tìm đường ngắn từ s tới t nằm P

(19)

Algorithm Thuật toán Lee Preparata

1: Bước khởi tạo: Xây dựng SP1 cách nối s với v1(1) v(2)1

2: Bước tổng quát : (Xây dựng SPi+1 từ SPi) Xét v đỉnh SPi= SP (v, v

(1)

i ) ∪ SP (v, v (2) i ) SPi chia làm hai nhánh v

Chúng ta kí hiệu hai nhánh uaua+1 ub uaua−1 u0 Ở v = ua, v

(1) i = ub, v

(2) i = u0 Bắt đầu duyệt từ điểm u0, u1, , ub

j số nhỏ cho v(2)i+1uj đường tiếp tuyến biên Ri Chúng ta xét hai trường hợp:

ˆ Trường hợp : j ≤ a (xem Hình 1.11 a))

– Xố hết cạnhulul+1 với ≤ l ≤ j − – Thêm cạnh ujv(2)i+1

ˆ Trường hợp : j > a (xem Hình 1.11 b))

– Xố hết cạnh ujul+1với ≤ l ≤ j − – Thêm cạnh ujv(2)i+1

– Miền Ri+1 nhận uj đỉnh

3: Bước kết thúc: Sau xây dựng SPn−3, đường chéo dn−2 chia P thành hai miền, hai miền chứa điểm đích t

- Gán vn−2(2) = t

- Áp dụng bước tổng quát cho trường hợp với i = n−3 SPn−2= SP (s, v (1)

n−2)∪SP (s, t) - SP (s, t) ⊂ SPn−2

Ví dụ 1.4.1 Xét đa giác đơn P với 13 đỉnh, điểm nguồn s điểm đích t (xem Hình 1.12) Tìm đường ngắn từ s tới t cách sử dụng thuật tốn Lee Preparata

(20)

Hình 1.13 Đa giác đơn P tam giác phân đường chéo nét đứt

Hình 1.14 Cây đối ngẫu đa giác đơn P đường màu đỏ

Hình 1.15 Miền P0 màu xanh hình ống tay chứa đường ngắn từ s tới t

(21)

Hình 1.17 Phễu thứ hai giới hạn SP (s, q11), SP (s, q3) đường chéo [q3, q11] có chóp s

Hình 1.18 Phễu thứ ba giới hạn SP (s, q11), SP (s, q4) đường chéo [q4, q11] có chóp s

(22)

Hình 1.20 Phễu thứ năm giới hạn SP (s, q4), SP (s, q9) đường chéo [q4, q9] có chóp s

Hình 1.21 Phễu thứ sáu giới hạn SP (s, q5), SP (s, q9) đường chéo [q5, q9] có chóp s

Hình 1.22 Phễu thứ bảy bị suy biến, miền rỗng, SP (s, q9) đường màu hồng

(23)

Chương 2

TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN BỀ MẶT CỦA KHỐI ĐA DIỆN

Trong chương này, luận văn trình bày thủ tục lật phẳng dãy mặt tam giác theo cạnh chung việc xác định đường ngắn từ điểm nguồn s tới đỉnh lại bề mặt khối đa diện mà mặt tam giác phân không gian ba chiều cách sử dụng thuật toán nguồn sáng bóng [10] Bên cạnh đó, luận văn trình bày ví dụ minh hoạ cho thuật tốn

2.1 PHÉP LẬT

Xét P mặt đa diện với mặt tam giác phân không gian ba chiều, với s đỉnh khối đa diện P cần tìm đường ngắn từ điểm nguồn stới đỉnh lại bề mặt khối đa diện P Luận văn trình bày lại số khái niệm dãy mặt, dãy cạnh mà Mitchell đưa năm 1987 [9]

F = (f1, f2, , fm+1) E = (e1, e2, · · · , em) dãy

các mặt dãy cạnh, fi∩ fi+1 = ei, f1 tam tam giác chứa đỉnh

nguồns Ngoại trừ trường hợp cụ thể khác, dãy mặt tam giác đề cập đến sau dãy mặt mà tam giác khác đôi Kĩ thuật phép lật phẳng (planar unfolding) phương pháp sử dụng để tìm đường ngắn Ta thực lật phẳng mặt

(24)

Hình 2.1 Một dãy mặt tam giác (f1, f2, , fm+1) liền kề theo cạnh (e1, e2, · · · , em)

Thủ tục phép lật dãy mặt F mô tả sau [10]:

Thủ tục lật phẳng

1: F = {f1}

2: For i:=1 to m

Quay F quanh ei F fi+1 nằm mặt phẳng khác phía với mặt fi+1 so với cạnh ei;

F := F ∪ {ei, fi+1}

3: End

Quy trình dừng lại mặt f1, f2, , fmcùng nằm mặt phẳng chứa mặt fm+1

Ưu điểm phép lật sử dụng để giải tốn tìm đường ngắn giúp đưa tốn từ khơng gian ba chiều tốn khơng gian hai chiều mà khơng độ xác khoảng cách hai điểm mặt độ lớn góc mặt phẳng

Bổ đề 2.1.1 Với dãy mặt F = (f1, f2, · · · , fm+1) dãy cạnh chung

E = (e1, e2, · · · , em) thực phép lật phẳng mặt f1, f2, , fm

lên mặt phẳng chứa mặt phẳng fm+1 độ lớn góc mặt

tam giác fi khoảng cách hai điểm p q (với p, q ∈ fi, ≤ i ≤ m + 1)

được bảo tồn

Ví dụ 2.1.1 Xét dãy mặt tam giác F = {4v0v1v2, 4v1v2v3, 4v1v3v4} dãy

cạnh E = {[v1, v2], [v1, v3]} hình 2.2, đỉnh v0(0, 0, 3), v1(0, 0, 0),

v2(0, −3, 0), v3(3, 0, 0), v4(0, 0, −3) Thực lật mặt phẳng mặt 4v0v1v2

(25)

Hình 2.2 Minh hoạ dãy mặt tam giác {4v0v1v2, 4v1v2v3, 4v1v3v4}

Ta thực theo quy trình phép lật phẳng dãy mặt tam giác:

ˆ Bước 1: Ta chọn F := {4v0v1v2}, quay F quanh cạnh [v1, v2] tới

khi mặt 4v0v1v2 mặt 4v1v2v3 nằm mặt phẳng

hai mặt phẳng nằm khác phía so với cạnh v1v2 Khi đó, F :=

F ∪ {[v1, v2], 4v1v2v3}

Nhận thấy hai mặt4v0v1v2, 4v1v2v3 tạo với gócψ = 90o,

khi thực quay mặt chứa F lên mặt phẳng chứa 4v1v2v3 ma

trận quay [14] ta tính toạ độ I[v1,v2](x

0, y0, z0) - ảnh

của v0 sau lật ứng với cạnh [v1, v2], x0, y0, z0 toạ độ

của I[v1,v2] theo trục Ox, Oy, Oz Ta có    x0 y0 z0    =   

cos φ sin φ

0 0

− sin φ cos φ

0 0

(26)

Hình 2.3 Minh hoạ phép lật mặt phẳng 4v0v1v2 lên mặt phẳng chứa 4v1v2v3 qua cạnh [v1, v2]

Mặt khác lật cần mặt chứa 4v3v0v1 nằm mặt lại

của cạnh v1v2 nên φ = −(180o − ψ)

   x0 y0 z0    =   

0 −1

0 0

1 0

0 0

      0   

Vậy toạ độ I[v1v2] (−3, 0, 0)

ˆ Bước 2: Với F := F ∪ {[v1, v2], 4v1v2v3}, quay F quanh cạnh [v2, v3]

tới F mặt 4v2v3v4 nằm mặt phẳng, F

mặt 4v2v3v4 nằm hai bên cạnh [v2, v3] Khi đó, F := F ∪

{[v2, v3], 4v2v3v4}

Nhận thấy F 4v2v3v4 tạo với góc ψ = 90o, thực

hiện quay F lên mặt phẳng chứa 4v1v2v3 ta tính toạ độ

của I[v2,v3](x00, y00, z00) - ảnh của I[v1,v2] sau lật, x00, y00, z00 lần

(27)

Hình 2.4 Minh hoạ dãy mặt tam giác {4v0v1v2, 4v1v2v3, 4v1v3v4} Ta có    x00 y00 z00    =   

1 0

0 cos φ − sin φ

0 sin φ cos φ

0 0

      −3 0   

Ở đây, φ = 90o    x00 y00 z00    =   

1 0

0 −1

0 0

0 0

      −3 0   

Vậy toạ độ I[v2,v3] (−3, 0, 0)

2.2 THUẬT TỐN DÙNG NGUỒN SÁNG VÀ BĨNG

Thuật tốn dùng nguồn sáng bóng thuật toán xác định đường ngắn từ điểm nguồn tới đỉnh lại bề mặt khối đa diện Thuật toán sử dụng kĩ thuật lật phẳng, lật tất

mặt f1, f2, , fm lên mặt phẳng chứa mặt fm+1 theo cạnh

chung ei Kí hiệu fi ảnh fi với ≤ i ≤ m, Iei ảnh của điểm

(28)

Định nghĩa 2.2.1 [10] Hình chiếu Iei lên cạnh ei đoạn thẳng

nằm cạnh ei kí hiệu P roj Iei

ei cho đường ngắn từ

điểm nguồn s tới điểm t với t ∈ P rojeiIei qua dãy cạnh e1, e2, , ei−1

được lật thành đoạn thẳng (hay đường trắc địa) Điều có nghĩa với t ∈ P rojeiIei nối Iei t với đoạn

thẳng qua dãy cạnh e1, e1, , ei−1 (xem Hình 2.5)

Hình 2.5 Hình chiếu Iei lên cạnh ei

Tính chất sau đường ngắn [10]:

1 Một đường ngắn qua mặt không lần

2 Hai đường ngắn cắt ngoại trừ hai điểm: điểm nguồn điểm tới

Định nghĩa 2.2.2 [10] Nguồn sáng ứng với cạnh ei tập hợp tất

đường ngắn từ ảnh điểm nguồn s Iei tới t với t ∈ P roj Iei ei

Định nghĩa 2.2.3 [10] Bóng hình chiếu P rojeIi−1ei−1 mặt fi miền

giới hạn đường ngắn từ ảnh nguồn Iei tới cạnh ei

hình chiếu ảnh nguồn Iei lên cạnh mặt fi chứa nguồn sáng

(29)

Hình 2.6 Bóng hình chiếu P rojeIei−1i−1 mặt fi

Hình 2.7 Phân tích cạnh chung e hai phía

(30)

Thuật tốn sau xây dựng gọi tuần tự, nút ba kí hiệu n =

(e, I, P rojeIe) với Ie ảnh nguồn e Ta nói nút n nằm cạnh e, e

là cạnh n bóng n bóng P rojIe e

Xuất phát từ điểm nguồn s, tìm tất đường ngắn từ điểm nguồn s tới đỉnh cịn lại khối đa diện P, chúng tơi đặt toán:

Bài toán: Xét khối đa diện P mà mặt khối đa diện tam giác phân thành m mặt (xem Định nghĩa 1.1.2), 4vpq mặt khối đa diệnP Tìm đường ngắn từ đỉnh nguồn s tới đỉnh cịn lại khối đa diện

Algorithm (Thuật toán Thơ ngây)

1: root:= s;

For tất cạnh e đối diện với điểm nguồn s thêm nút (e, s, e) gốc s:

/*e cạnh mặt có điểm nguồn s*/

/*s đỉnh mặt tam giác thuộc khối đa diện.*/

2: For i:= to m

/*m số mặt khối đa diện sau mặt tam giác phân */ For tất (e, I, P rojeI) mức ith

Begin

lật I quanh cạnh e nhận I: /* I mặt phẳng với 4vpq,*/ /* mặt bóng cạnh e.*/ For e0:= [v, p], [q, v]

tính P rojI e0; If P rojI

e0 khác rỗng then thêm (e0, I, P rojI

e0) (e, I, P rojeI) End

Ví dụ 2.2.1 Xét khối đa diện mà mặt tam giác phân thành mặt (xem Hình 2.8) đỉnh s(0, 0, 3), v1(0, 0, 0), v2(3, 0, 0),

v3(0, 3, 0), v4(1.5, 1.5, −3) Tìm đường ngắn từ đỉnh nguồn S

tới đỉnh lại bề mặt khối đa diện cách sử dụng thuật toán

Trong ví dụ ta đường ngắn bề mặt khối đa diện từ đỉnh S tới đỉnh v1 3, đường ngắn

nhất từ s tới v2, v3 4.24, đường ngắn bề mặt khối

(31)

Hình 2.8 Minh hoạ khối đa diện khơng gian ba chiều Ví dụ 2.2

ˆ Bước 1: Ta gán: root:= s;

Các cạnh: [v1, v2], [v1, v3], [v2, v3] cạnh đối diện với gốc s

Khi đó: ([v1, v2], s, [v1, v2]), ([v1, v3], s, [v1, v3]), ([v2, v3], s, [v2, v3])

con gốc s

ˆ Bước 2: Do khối đa diện sau mặt tam giác phân có tất mặt nên xây dựng có mức

Mức 1: Đối với([v1, v2], s, [v1, v2]),([v1, v3], s, [v1, v3]),([v2, v3], s, [v2, v3])

là ta thực lật s quanh cạnh [v1, v2], [v1, v3], [v2, v3]

lên mặt phẳng chứa mặt 4v1v2v3, 4v3v4v6, 4v4v5v6, 4sv1v5

ảnh s tương ứng mặt phẳng lật I[v1,v2], I[v1,v3], I[v2,v3]

– Đối với 4sv1v3 4v1v3v4 sau đồng phẳng, ta gán e0 :=

[v1, v4], [v3, v4] thực tính hình chiếu P roj

I[v1,v4]

[v1,v4] ảnh

nguồn I[v1,v4] lên cạnh [v1, v4] P roj I[v3,v4]

[v3,v4] ảnh nguồn I[v3,v4]

(32)

Thêm 

[v1, v4], I[v1,v4], P roj I[v1,v4] [v1,v4]





[v3, v4], I[v3,v4], P roj I[v3,v4] [v3,v4]



là ([v1, v3], s, [v1, v3]) Nguồn sáng từ điểm nguồn s tới

đỉnh v4 tính 6.18 cắt cạnh [v1, v3] điểm có toạ độ

là (0, 0.74, 0)

– Đối với 4sv1v2 4v1v2v4 sau đồng phẳng, ta gán e0 :=

[v1, v4], [v2, v4] thực tính hình chiếu P roj

I[v1,v4]

[v1,v4] ảnh

nguồn I[v1,v4] lên cạnh [v1, v4] P roj I[v2,v4]

[v2,v4] ảnh nguồn I[v2,v4]

lên cạnh [v2, v4]

Thêm 

[v1, v4], I[v1,v4], P roj I[v1,v4] [v1,v4]





[v2, v4], I[v2,v4], P roj I[v2,v4] [v2,v4]



là ([v1, v2], S, [v1, v2]) Nguồn sáng từ điểm nguồn s tới

đỉnh v4 tính 6.18 cắt cạnh [v1, v2] điểm có toạ độ

là (0.74, 0, 0)

– Đối với 4sv2v3 4v2v3v4 sau đồng phẳng, ta gán e0 :=

[v2, v4], [v3, v4] thực tính hình chiếu P roj

I[v2,v4]

[v2,v4] ảnh

nguồn I[v2,v4] lên cạnh [v2, v4] P roj I[v3,v4]

[v3,v4] ảnh nguồn I[v3,v4]

lên cạnh [v3, v4]

Thêm 

[v2, v4], I[v2,v4], P roj I[v2,v4] [v2,v4]





[v3, v4], I[v3,v4], P roj I[v3,v4] [v3,v4]



là ([v2, v3], S, [v2, v3]) Nguồn sáng từ điểm nguồn s tới

đỉnh v4 tính 6.64 cắt cạnh [v2, v3] điểm có toạ độ

là (1.5, 1.5, 0)

Mức 2:

– Đối với 

[v1, v4], I[v1,v4], P roj I[v1,v4] [v1,v4]



ở mức ta lại tiếp tục thực việc lật I[v1,v4] quanh cạnh [v1, v4] [v3, v4] để ảnh

nguồn tương ứng I[v1,v4] I[v3,v4] Thêm



[v1, v2], I[v1,v2], P roj I[v1,v2] [v1,v2]





[v3, v4], I[v3,v4], P roj I[v3,v4] [v3,v4]



là 

[v1, v4], I[v1,v4], P roj I[v1,v4] [v1,v4]



Từ ta tính đường ngắn từ ảnh nguồn I[v1,v4] tới đỉnh v2 và

đi qua dãy cạnh [v1, v3], [v1, v2]

– Đối với 

[v3, v4], I[v3,v4], P roj I[v3,v4] [v3,v4]



(33)

tương ứng I[v2,v3] I[v2,v4]

Thêm 

[v2, v3], I[v2,v3], P roj I[v2,v3] [v2,v3]





[v2, v4], I[v2,v4], P roj I[v2,v4] [v2,v4]



là 

[v1, v4], I[v1,v4], P roj I[v1,v4] [v1,v4]



Từ ta tính đường ngắn từ ảnh nguồn I[v1,v4] tới đỉnh v2 và

đi qua dãy cạnh [v1, v3], [v3, v4]

– Đối với [v1, v4], I[v1,v4], P roj I[v1,v4] [v1,v4]



ở mức ta lại tiếp tục thực việc lật I[v1,v4] quanh cạnh [v1, v3] [v3, v4] để ảnh

nguồn tương ứng I[v1,v3] I[v3,v4]

Thêm 

[v1, v3], I[v1,v3], P roj I[v1,v3] [v1,v3]





[v3, v4], I[v3,v4], P roj I[v3,v4] [v3,v4]



là 

[v1, v4], I[v1,v4], P roj I[v1,v4] [v1,v4]



Từ ta tính đường ngắn từ ảnh nguồn I[v1,v4] tới đỉnh v3 và

đi qua dãy cạnh [v1, v2], [v1, v4]

– Đối với [v1, v4], I[v1,v4], P roj I[v1,v4] [v1,v4]



ở mức ta lại tiếp tục thực việc lật I[v1,v4] quanh cạnh [v1, v3] [v3, v4] để ảnh

nguồn tương ứng I[v1,v3] I[v3,v4]

Thêm 

[v1, v3], I[v1,v3], P roj I[v1,v3] [v1,v3]





[v3, v4], I[v3,v4], P roj I[v3,v4] [v3,v4]



là 

[v1, v4], I[v1,v4], P roj I[v1,v4] [v1,v4]



Từ ta tính đường ngắn từ ảnh nguồn I[v1,v4] tới đỉnh v3 và

đi qua dãy cạnh [v1, v2], [v1, v4]

– Đối với [v2, v4], I[v2,v4], P roj I[v2,v4] [v2,v4]



ở mức ta lại tiếp tục thực việc lật I[v2,v4] quanh cạnh [v2, v1] [v4, v1] để ảnh

nguồn tương ứng I[v2,v1] I[v4,v1]

Thêm 

[v2, v1], I[v2,v1], P roj I[v2,v1] [v2,v1]





[v4, v1], I[v4,v1], P roj I[v4,v1] [v4,v1]



là 

[v2, v4], I[v2,v4], P roj I[v2,v4] [v2,v4]



Từ ta tính đường ngắn từ ảnh nguồn I[v1,v4] tới đỉnh v3 7.88

và qua dãy cạnh [v2, v3], [v2, v4]

– Đối với [v3, v4], I[v3,v4], P roj I[v3,v4] [v3,v4]



ở mức ta lại tiếp tục thực việc lật I[v3,v4] quanh cạnh [v3, v1] [v4, v1] để ảnh

nguồn tương ứng I[v3,v1] I[v4,v1]

Thêm 

[v3, v1], I[v3,v1], P roj I[v3,v1] [v3,v1]





[v4, v1], I[v4,v1], P roj I[v4,v1] [v4,v1]

(34)

là 

[v2, v4], I[v2,v4], P roj I[v2,v4] [v2,v4]



Từ ta tính đường ngắn từ ảnh nguồn I[v1,v4] tới đỉnh v3 7.88

và qua dãy cạnh [v2, v3], [v3, v4]

Tương tự thực bước thêm tính hình chiếu ảnh nguồn cạnh tương ứng mức ta thu kết đường ngắn từ đỉnh nguồn s tới đỉnh lại bề mặt khối đa diện

(35)

Chương 3

TÌM ĐƯỜNG ĐI NGẮN NHẤT GIỮA HAI ĐIỂM TRONG MỘT DÃY MẶT TAM GIÁC TRONG KHÔNG GIAN BA CHIỀU

Chương trình bày lại thuật tốn hữu hiệu việc tìm đường ngắn hai điểm dãy mặt tam giác không gian ba chiều cách sử dụng “phễu” tương ứng với cạnh chung dãy mặt tam giác lật phẳng “phễu” Tác giả ảnh “phễu” sau lật không đè lên [5]

3.1 ĐƯỜNG TRẮC ĐỊA THẲNG NHẤT VÀ CÁC PHỄU

DỌC THEO DÃY MẶT TAM GIÁC TRONG KHÔNG GIAN BA CHIỀU

Một đường nối hai điểm p q dãy mặt tam giác

F = {f1, f2, , fm, fm+1}là đường gấp khúc∪mi=0[vi, vi+1]vớiv0 = p,

vm+1 = q, đoạn thẳng [vi, vi+1] nằm tam giác F,

đỉnh vi (với ≤ i ≤ m) đường nối p q thuộc cạnh chung

trong dãy mặt F

Định nghĩa 3.1.1 [5] Một đường ∪m

i=0[vi, vi+1] dãy tam

giác F = {f1, f2, , fm, fm+1} với v0 = u, vm+1 = v, đoạn thẳng

[vi, vi+1] nằm tam giác F, đỉnh vi đường

(36)

tới v F tổng độ lớn góc đường đỉnh vi

π Đường trắc địa thẳng kí hiệu CF(u, v)

Hình 3.1 Đường trắc địa thẳng màu đỏ bề mặt khối lập phương điểm v1, v3; v1, v3 trung điểm cạnh chứa

Chúng ta gọi đoạn thẳng tam giácfi

đường trắc địa thẳng Xét điểm u điểm thuộc F e = [p, q]

là cạnh chung F, xét s điểm chung xa đường ngắn

nhất SP (u, q) nối hai điểm u q F đường ngắn SP (u, p)

nối hai điểm u p F tương ứng với điểm u Kí hiệu Fpq(s) miền

con F bao SP (s, p) SP (s, q) [p, q]

Định nghĩa 3.1.2 [5] Miền Fpq(s) gọi phễu dọc theo F tương

ứng với cạnh chung [p, q], s chóp phễu SP (s, p) SP (s, q) (để ngắn gọn chúng tơi kí hiệu B1 B2) biên phễu Trong trường

hợp đơn giản, chúng tơi kí hiệu phễu F

Từ Định nghĩa 3.1.2 thấy phễu xây dựng lên từ dãy mặt tam giác Giả sử 4vpq tam giác thuộc F

nằm khác phía với điểm u qua cạnh chung [p, q] Tập hợp bF = F ∪ 4pqv

(37)

Hình 3.2 Phễu tạo biên B1= SP (s, p) B2= SP (s, q) cạnh chung [p, q]; bF = F ∪ 4pqv miền xử lí

Lấy u, u0 ∈ F u, u0 ∈ Fb, việc xây dựng bF giống việc hình thành dãy mặt tam giác, từ thay F bF Khi đó, đường trắc địa thẳng phễu hình thành kí hiệu C

b

F(u, u

0) Giả sử phễu rỗng thì F

pq(s) với

s /∈ [p, q], B1 ∩ B2 = {s}, B1 ∩ [p, q] = {p}, B2∩ [p, q] = {q}, có

mệnh đề sau:

Mệnh đề 3.1 [5] Cho phễu F = Fpq(u) dọc theo dãy mặt tam giác

F, z /∈ [p, q], với i ∈ {1, 2} tồn đường trắc địa thẳng

được kí hiệu Ti bF qua đỉnh Bi gặp đoạn [p, q]

một điểm

Tiếp theo, luận văn trình bày lại định lý phễu sau lật không bị đè lên nhau, việc làm giảm bước tính tốn q trình tìm đường ngắn hai điểm dãy mặt tam giác

Định lý 3.1.1 [5] Ảnh phễu Fpq(u) thông qua phép lật dọc theo dãy

(38)

Hình 3.3 z điểm ảnh tương ứng với miền đơn Rz= 4zw1w2và z0 điểm ảnh tương ứng với miền đơn Rz0 = 4z0w01w20

Chứng minh Đầu tiên, ta cần chứng minh điểm z ảnh z¯là tương ứng với miền phễu chứa điểmz Ta lấy z ∈ F \ [p, q] Từ Mệnh đề 3.1, giả sử rằng: w1 = T ∩ [p, q]; w2 = T ∩ [p, q]

Ta gọi: Ti := CFb(z, wi) với i = 1,

Vì T1(z) T2(z) đường trắc địa thẳng dài

xuất phát từ điểm z nên T1(z) T2(z)

Từ đó, ta thấy điểm z điểm tương ứng với miền đơn Rz hình thành đường trắc địa thẳng T1(z)

T2(z) [p, q]

Chính thế, độ lớn tất góc đường bảo tồn qua phép lật phẳng ảnh miền Rz tức Rz 4¯zw1w2, dẫn

tới ảnh điểm z z¯cũng tương ứng với tam giác Rz

Giả sử tồn hai điểm z, z0 ∈ F \ [p, q] cho Rz = Rz0

cách đưa số tam giác phễuFpq(u)mà T1(z)vàT2(z) qua, chúng

ta chứng minh rằngT1(z) = T1(z0) vàT2(z) = T2(z0)hay điểm

z ≡ z0

Ta suy ảnh phễu Fpq(u) thông qua phép lật dọc theo

dãy cạnh phễu lên mặt phẳng chứa tam giác4pqv không bị đè lên Do độ lớn tất góc hai biên B1 B2 bảo tồn

(39)

3.2 THUẬT TỐN TÌM CHÍNH XÁC ĐƯỜNG ĐI NGẮN NHẤT GIỮA HAI ĐIỂM DỌC THEO DÃY MẶT TAM GIÁC

Thuật tốn tìm xác đường ngắn hai điểm dọc theo dãy mặt tam giác không gian ba chiều giới thiệu [11] Từ Định lý 3.1.1 thuật toán trình bày việc sử dụng ý tưởng phễu tương ứng với cạnh chung dọc theo dãy mặt tam giác lật phẳng phễu đó, ta gọi thuật tốn NFU

Ta xét F = Fpq(u) phễu F B1 = SP (u, p), B2 =

SP (u, q)là hai biên phễu; v điểm tới bF miền xử lí F

"Phễu" trình bày hàng đợi kết thúc kép mà đỉnh xếp theo thứ tự: F = (pr, pr−1 , p1, u, q1, , qs−1, qs),

u = p0 = q0, q = qs, [p, q] cạnh chung F, B1 qua đỉnh

p0, p1, , pr B2 qua đỉnh q0, q1, , qs F Phễu dọc theo F

tương ứng với cạnh [v, q] (cạnh chung [p, v] tương tự thế) F

là phễu xây dựng từ Fpq(u) điểm tới v

Giả sử [v, q] cạnh chung F Quy trình lật phễu

NFU (F, v, q, u, SP (u, v)) để xây dựng phễu tương ứng

với cạnh chung [v, q] theo Định lí 3.1.1 Sau lật phẳng phễu Fpq(u) lên

mặt phẳng chứa 4pqv, đường ngắn từ chóp u đến điểm tới v tính tốn, thực kẻ đường tiếp tuyến từ v tới đường lồi hướng B1 B2 mặt phẳng chứa 4pqv

Bài toán: Xét phễu F ⊂ F = {f1, f2, , fm, fm+1}, u chóp

của phễu F, 4pqv ∈ F, phễu F 4pqv có cạnh chung [p, q] Xây dựng phễu bF = F ∪ 4pqv để tìm đường ngắn SP

b

F(u, v) từ u

(40)

Algorithm (Thủ tục lật phễu (F, v, q, u, SP b F(u, v)))

1: Procedure NEWFUNNEL-UNFOLDING (F, v, q, u, SP b F(u, v))

2: Lật F dọc theo dãy cạnh chung tương ứng F u [p, q] lên mặt phẳng chứa 4pqv Đặt B1 B2là ảnh sau lật biên tương ứng B1và B2 F

/*Theo Định lý 3.1.1, B1và B2 đường gấp khúc lồi hướng phía ngồi 4upq.*/

3: Xác định đường tiếp tuyến từ v tới hai đường gấp khúc B1 B2 mặt phẳng chứa 4pqv vf tiếp điểm

4: Chọn đường trắc địa thẳng C

b

F(vf, v) mà ảnh đoạn thẳng [vf, v] chọn đường ngắn SP

b

F(u, vf) nối u vf bF (kí hiệu B(u, vf) biên B1(nếu vf ∈ B1) B2 (nếu vf ∈ B2) u vf

5: SP b

F(u, v) = SPFb(u, vf) ∪ CFb(vf, v)

6: Lật tất đỉnh kết thúc phía bên trái (pr) F chạm vào vf

7: If chóp F lật then chóp phễu vf

8: Thêm v vào điểm kết thúc bên trái F

9: Set u := vf, p := v

10: Return < Fpq(u), SP b F (u,v) > /*F = Fpq(u), SP

b

F(u, v) cập nhật*/

/*F phễu tương ứng với cạnh chung F [p, q]).*/

11: End procedure

Ví dụ 3.2.1 Xét dãy mặt tam giác gồm có 10 mặt 12 đỉnh, đỉnh v0(−3, 3, 3), v1(−3, 0, 3), v2(0, 3, 3), v3(0, 0, 3), v4(0, 0, 0), v5(0, 3, 0),

v6(3, 3, 0), v7(3, 0, 0),v8(3, 0, −3), v9(0, 0, −3),v10(0, −3, −3),v11(3, −3, −3)

Tìm đường ngắn từ đỉnh v0 tới đỉnh v10 dãy mặt tam giác

cho cách sử dụng thuật toán

(41)

Xây dựng phễu ban đầu F := 4v0v1v2, chóp phễu đỉnh v0,

hai biên phễu hai cạnh tam giác B1 = SP (v0, v1) = [v0, v1]

B2 = SP (v0, v2) = [v0, v2], cạnh chung [v1, v2] Với phễu ứng

với cạnh [v1, v2] ta tính đường ngắn từ chóp phễu v0 tới

đỉnh v1, v2

Hình 3.5 Phễu có chóp v0tương ứng với cạnh chung [v1, v2]

Tiếp tục việc tìm phễu việc thực việc lật phễu F

lên mặt phẳng chứa tam giác 4v1v2v3 Trong trường hợp này, phễu F

và 4v1v2v3 nằm mặt phẳng, ta xác định miền xử lí

là bF := F ∪ 4v1v2v3, phễu (F, v3, v1, v0, SPFb(v0, v3)) Khi phễu

mới hình thành có chóp v0, biên B1 = SP (v0, v3) = [v0, v3]

B2 = SP (v0, v2) = [v0, v2] cạnh chung [v2, v3] Với phễu hình

(42)

Hình 3.6 Phễu (F, v2, v3, v0, SP b

F(v0, v3)) tương ứng với cạnh chung [v3, v2]

Thực việc tìm phễu dãy mặt tam giác cho tương ứng với cạnh [v2, v4] việc lật F lên mặt phẳng chứa 4v3v2v4 Sau xác

định miền xử lí bF := F ∪4v3v2v4, phễu mới(F, v4, v3, v0, SPFb(v0, v4))

Khi phễu hình thành có chóp v0, biên B1 = SP (v0, v4)

và B2 = SP (v0, v2) = [v0, v2] cạnh chung [v2, v4], ta tính đường

đi ngắn từ v0 tới đỉnh v4 6.71

Tương tự vậy, lật phễu hình thành theo cạnh chung

[v4, v5], ta xác định chóp v0, miền xử lí bF := F ∪ 4v2v4v5,

phễu (F, v5, v4, v0, SPFb(v0, v5)) biên B1 = SP (v0, v4) B2 =

SP (v0, v5) cạnh chung [v4, v5], ta tính đường ngắn từ

(43)

Hình 3.7 Phễu (F, v4, v2, v0, SP b

F(v0, v4)) tương ứng với cạnh chung [v2, v4]

(44)

Hình 3.9 Phễu (F, v6, v4, v0, SP b

F(v0, v6)) tương ứng với cạnh chung [v4, v6]

Hình 3.10 Phễu (F, v7, v4, v0, SP b

(45)

Hình 3.11 Phễu (F, v9, v7, v0, SP b

F(v0, v9)) tương ứng với cạnh chung [v7, v9]

Hình 3.12 Đường ngắn từ v0 tới đỉnh v4 phễu (F, v8, v9, v4, SP b

(46)

Hình 3.13 Đường ngắn từ v0 tới đỉnh v4 phễu (F, v11, v9, v4, SP b

F(v4, v11)) tương ứng với cạnh chung [v9, v11]

(47)

3.3 ỨNG DỤNG THUẬT TỐN NFU TÌM ĐƯỜNG ĐI NGẮN NHẤT TỪ MỘT ĐIỂM TỚI TẤT CẢ CÁC ĐIỂM TRÊN BỀ MẶT KHỐI ĐA DIỆN

Thuật tốn NFU tìm đường ngắn hai điểm dãy mặt tam giác không gian ba chiều giúp giảm số phép tốn q trình tìm đường ngắn mà cịn có ứng dụng tìm đường ngắn hai đỉnh khối đa diện Đối với thuật tốn thơ ngây Ví dụ 2.2.1, việc lật nhiều dãy mặt nhiều thời gian tính tốn dãy mặt khơng hữu dụng, tức có dãy mặt lật không xác định đường ngắn Thay việc tìm đường ngắn từ điểm nguồn cho trước tới đỉnh lại bề mặt khối đa diện, toán chuyển thành tìm đường ngắn từ điểm nguồn cho trước tới đỉnh lại khối đa diện sử dụng thuật tốn NFU

Ví dụ sau làm rõ tính ứng dụng thuật tốn NFU so với thuật tốn thơ ngây

Ví dụ 3.3.1 Xét khối đa diện mà mặt tam giác phân thành 16 mặt (xem hình 2.8) đỉnhs(1.5, 1.5, 6), v1(0, 0, 3),v2(3, 0, 3),

v3(3, 3, 3) v4(0, 3, 3),v5(0, 0, 0), v6(3, 0, 0), v7(3, 3, 0),v8(0, 3, 0),v9(1.5, 1.5, −3)

Tìm đường ngắn từ đỉnh nguồn s tới đỉnh lại bề mặt khối đa diện cách sử dụng thuật toán dùng nguồn sáng thuật toán NFU

Bây ta thực giải ví dụ hai thuật tốn: thuật toán thơ ngây thuật toán NFU

Sử dụng thuật toán “thơ ngây” để giải toán:

Trong ví dụ ta đường ngắn bề mặt khối đa diện từ đỉnh s tới đỉnh v1, v2, v3, v4 3.67, đường ngắn từ s tới v5, v6, v7, v8 6.5287, đường

đi ngắn bề mặt khối đa diện từ s tới v9 9.7 qua dãy

(48)

Hình 3.15 Minh hoạ khối đa diện khơng gian ba chiều Ví dụ 3.3.1

ˆ Bước 1: Ta gán: root:= s;

Các cạnh:[v1, v2], [v2, v3], [v3, v4], [v4, v1]là cạnh đối diện với gốc s

Khi đó: ([v1, v2], s, [v1, v2]), ([v2, v3], s, [v2, v3]), ([v3, v4], s, [v3, v4]),

([v4, v1], S, [v4, v1]) gốc s

Khoảng cách từ đỉnhstới đỉnh v1, v2, v3, v4 3.67

(49)

ˆ Bước 2: Do khối đa diện sau mặt tam giác phân có tất 16 mặt nên chúng tơi xây dựng có 16 mức

Mức 1: Đối với([v1, v2], s, [v1, v2]),([v2, v3], s, [v2, v3]),([v3, v4], s, [v3, v4]),

([v4, v1], s, [v4, v1]) ta thực lật s quanh cạnh

[v1, v2], [v2, v3], [v3, v4], [v4, v1], ta nhận thấy (xem hình 3.16):

∠(4Sv1v2, 4v1v2v5) = 153o43o; ∠(4Sv3v4, 4v3v4v7) = 153o43o;

∠(4Sv2v3, 4v2v3v6) = 153o43o; ∠(4Sv4v1, 4v4v1v8) = 153o43o

Ở mức này, ta thực lật s qua cạnh [v1, v2], [v2, v3],

[v3, v4],[v4, v1]lên mặt phẳng chứa mặt4v1v2v5,4v2v3v6,4v3v4v7,

4v4v1v8 ảnh s tương ứng mặt phẳng lật I[v1,v2],

I[v2,v3], I[v3,v4], I[v4,v1]

Đối với4sv1v2và4v1v2v5 sau đồng phẳng, ta gáne0 := [v1, v5], [v2, v5]

và thực tính hình hình chiếu P roj[v1,v5]I[v1,v5] ảnh nguồn I[v1,v5] lên cạnh [v1, v5] P roj

I[v2,v5]

[v2,v5] ảnh nguồn I[v2,v5] lên cạnh [v2, v5]

Thêm 

[v1, v5], I[v1,v5], P roj I[v1,v5] [v1,v5]





[v2, v5], I[v2,v5], P roj I[v2,v5] [v2,v5]



là ([v1, v2], s, [v1, v2])

Từ đây, ta tính đường ngắn từ s tới đỉnh v5 6.5287

đi qua cạnh [v1, v2]

Tương tự 4sv2v3 4v2v3v6, 4sv3v4 4v3v4v7, 4sv4v1

4v4v1v8 ta tính đường ngắn từ s tới đỉnh v6, v7,

v8 6.5287

Mức 2: Đối với 

[v2, v5], I[v2,v5], P roj I[v2,v5] [v2,v5]



ta lại tiếp tục thực việc lật I[v2,v5] quanh cạnh [v2, v5] [v1, v5] để ảnh nguồn

tương ứng I[v2,v5] I[v1,v5] Từ ta tính đường ngắn

nhất từ I[v2,v5] tới đỉnh v6 6.5287

Các khác mức ta làm tương tự để tìm đường ngắn từ ảnh nguồn tới đỉnh v7, v8

Mức 3: Đối với 

[v5, v6], I[v5,v6], P roj I[v5,v6] [v5,v6]



ta lại tiếp tục thực việc lật I[v2,v5] quanh cạnh [v5, v6] để ảnh nguồn tương ứng

là I[v5,v6] Từ ta tính đường ngắn từ I[v5,v6] tới đỉnh

(50)

Hình 3.17 Minh hoạ đường ngắn từ I[v1v2] đến v5 không gian ba chiều

Hình 3.18 Minh hoạ đường ngắn từ I[v2,v5] đến v6 không gian ba chiều

(51)

Hình 3.19 Minh hoạ đường ngắn từ I[v5,v6] đến v9 không gian ba chiều

Sử dụng thuật toán NFU để giải toán:

Đối với thuật tốn NFU, để tìm đường ngắn từ điểm nguồn

s tới đỉnh lại bề mặt khối đa diện, ta chuyển toán thành toán nhỏ Đối với đỉnh kề với đỉnh s v1, v2, v3,v4 ta

có thể tìm ln đường ngắn từ điểm nguồn s tới đỉnh Đối với đỉnh v5, v6, v7, v8, v9, ta cần tìm tất dãy mặt chứa

các đỉnh s v5, s v6, s v7, s v8, s v9 sử dụng

thuật toán NFU để tìm đường ngắn dãy mặt Sau tìm đường ngắn ta so sánh đường ngắn có điểm nguồn điểm tới với chọn đường ngắn

(52)

Hình 3.20 Đường ngắn màu đỏ từ đỉnh nguồn s tới đỉnh bề mặt khối đa diện

Để lược bỏ dãy mặt mà đường ngắn từ đỉnh nguồn tới đỉnh cần tìm khơng phải đường ngắn bề mặt khối đa diện, ta xét lại dãy mặt Ví dụ 3.2.1 dãy mặt tam giác khối đa diện Hình 3.21

(53)

Trong Ví dụ 3.2.1 đường ngắn v0 tới v10 đường màu đỏ

qua đỉnh v4 đỉnh v9 khối đa diện khơng

cịn đường ngắn từ đỉnh v0 tới đỉnh v10 bề mặt khối đa

diện

Hình 3.22 Đường ngắn màu đỏ thuộc dãy mặt màu xanh chọn bề mặt khối đa diện

(54)

Hình 3.23 Chọn dãy mặt màu tím xoay quanh đỉnh v5 chứa đường ngắn hai đỉnh v0 v10 khác

Sử dụng thuật toán NFU để tìm đường ngắn từ đỉnh v0 tới

đỉnh v10 dãy mặt tam giác cập nhật ta thu đường ngắn

nhất tốt đường ngắn chưa cập nhật dãy mặt tam giác (xem Hình 3.24)

(55)

KẾT LUẬN

Luận văn trình bày theo ba chương với nội dung giải tốn tìm đường ngắn hai điểm dãy mặt tam giác không gian ba chiều ý tưởng “phễu” có sử dụng kĩ thuật lật phẳng Từ phát triển thuật tốn việc xây dựng tìm đường ngắn từ điểm nguồn tới đỉnh lại bề mặt khối đa diện việc lựa chọn dãy mặt tam giác khác

ˆ Chương 1: Nội dung chương giải tốn tìm đường ngắn hai điểm đa giác đơn Đây tốn giải khơng gian hai chiều có sử dụng kỹ thuật “phễu”

ˆ Chương 2: Chương trình bày kỹ thuật lật phẳng dãy mặt tam giác dãy mặt tam giác cho trước sau đưa thuật tốn dùng nguồn sáng bóng (thuật tốn Thơ ngây) để xác định đường ngắn từ điểm nguồn tới đỉnh lại bề mặt khối đa diện Sau đó, luận văn đưa ví dụ để minh hoạ cho thuật tốn, đồng thời cho thấy cồng kềnh số phép tốn việc tính tốn đường ngắn

(56)

Tài liệu tham khảo

[1] P K Agarwal, S Har-Peled, M Karia Computing approximate short-est paths on convex polytopes Algorithmica 2002;33(2):227–242

[2] J A Sethian Fast marching methods SIAM Rev 1999;41(2):199–235

[3] S Nazari, M R Meybodi, M A Salehigh, S Taghipour An advanced algorithm for finding shortest path in car navigation system 2008 First International Conference on Intelligent Networks and Intelligent Sys-tems 2008;671-674

[4] V Akman Geometry and graphics applied to robotics Theoreti-cal foundations of computer graphics and CAD NATO ASI Series 1988;40:619-638

[5] P T An Finding Shortest paths in a sequence of triangles in 3D by the planar unfolding Numerical Functional Analysis and Optimization 2019; 40(8):1532-2467

[6] V P Trong, N Szafran, L Biard Pseudo-geodesics on threedimen-sional surfaces and pseudo-geodesic meshes Numerical Algorithms 2001;26(4):305-315

[7] D T Lee, F P Preparata Euclidean shortest paths in the presence of rectilinear barries NETWORKS 1984;14(3):393-410

[8] M Sharir, A Schorr On shortest paths in polyhedral spaces SIAM Journal on Computing 1986; 15(1):193-215

(57)

[10] J Chen, Y Han Shortest paths on a polyhedron, Part I: Computing shortest paths International Journal of Computational Geometry and Applications 1990; 6(2):360-369

[11] D M Mount On finding shortest paths on convex polyhedra Mary-land Univ College Park Center for Automation Research 1985

[12] P T An Finding shortest paths in a sequence of triangles in 3D by method of orienting curves Optimization 2018; 67(1):159-177

[13] E W Dijkstra A note on two problems in connection with graphs Numerische Mathematik 1959;1:269–271

[14] P R Evans Rotations and rotation matrices Acta Crystallographica Section D, Acta Cryst 2001;57:1355-1359

Ngày đăng: 28/01/2021, 23:05

Tài liệu cùng người dùng

Tài liệu liên quan