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

Nghiên cứu phương pháp thành lập và sử dụng mô hình số địa hình trong trắc địa công trình

90 14 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

BỘ GIÁO DỤC VÀ ĐÀO TẠO   TRƯỜNG ĐẠI HỌC MỎ - ĐỊA CHẤT -W X - ĐẶNG QUANG MINH NGHIÊN CỨU PHƯƠNG PHÁP THÀNH LẬP VÀ SỬ DỤNG MƠ HÌNH SỐ ĐỊA HÌNH TRONG TRẮC ĐỊA CƠNG TRÌNH Ngành: Kỹ thuật trắc địa – đồ Mã số: 60520503 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS Trần Khánh             HÀ NỘI – 2013     LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu luận văn trung thực chưa công bố công trình khác Tác giả luận văn Đặng Quang Minh     MỤC LỤC Trang Trang phụ bìa LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ MỞ ĐẦU U Chương KHÁI NIỆM VỀ BẢN ĐỒ SỐ VÀ MƠ HÌNH SỐ ĐỊA HÌNH 10 1.1 TỔNG QUAN VỀ BẢN ĐỒ SỐ 10 1.1.1 Khái niệm 10 1.1.2 Tính tiện lợi đồ số 11 1.1.3 Cấu trúc liệu đồ số 12 1.1.4 Mơ hình sở liệu đồ số 15 1.1.5 Kiểu liệu đồ số 16 1.1.6 Các phương pháp sản xuất đồ số 19 1.1.7 Quản lý sở liệu đồ số 21 1.2 TỔNG QUAN VỀ MƠ HÌNH SỐ ĐỊA HÌNH .24 1.2.1 Khái niệm mơ hình số địa hình 24 1.2.2 Bài toán xây dựng mơ hình số địa hình 25 1.2.3 Quy trình thành lập mơ hình số địa hình 27 1.2.4 Các phương pháp nội suy độ cao điểm 28 1.2.5 Các phương pháp thành lập mơ hình số địa hình 35 1.2.6 So sánh phương pháp thành lập mơ hình số địa hình 39 Chương XÂY DỰNG THUẬT TOÁN VÀ PHẦN MỀM MƠ HÌNH SỐ ĐỊA HÌNH 43 2.1 KHÁI NIỆM LƯỚI TAM GIÁC DELAUNAY 43 2.2 MỘT SỐ PHƯƠNG PHÁP THÀNH LẬP LƯỚI TAM GIÁC DELAUNAY.44   2.2.1 Phương pháp sử dụng sơ đồ Voronoi 44 2.2.2 Phương pháp sử dụng bao lồi không gian 47 2.2 THÀNH LẬP MƠ HÌNH TIN THEO PHƯƠNG PHÁP TĂNG TIẾN 48 2.2.1 Cơ sở lý thuyết 48 2.2.2 Cấu trúc liệu 50 2.2.3 Cập nhật cấu trúc liệu cho thao tác 52 2.3 BIÊN TẬP MƠ HÌNH .58 2.3.1 Thêm bớt điểm mơ hình 59 2.3.2 Lật cạnh 59 2.3.3 Xác định ranh giới vùng xóa 60 2.4 TỐI ƯU HĨA THUẬT TỐN TÌM TAM GIÁC CHỨA ĐIỂM NỘI SUY 61 Chương ỨNG DỤNG MƠ HÌNH SỐ ĐỊA HÌNH TRONG TRẮC ĐỊA CƠNG TRÌNH 63 3.1 NỘI SUY ĐỘ CAO TRÊN MƠ HÌNH TIN 63 3.1.1 Tìm tam giác chứa điểm cần nội suy 63 3.1.2 Nội suy độ cao 64 3.2 THÀNH LẬP MẶT CẮT ĐỊA HÌNH 65 3.2.1 Đặt vấn đề 65 3.2.2 Thuật toán thành lập mặt cắt 66 3.3 NỘI SUY ĐƯỜNG BÌNH ĐỘ .67 3.3.1 Đặt vấn đề 67 3.3.2 Tìm tam giác chứa đường bình độ 67 3.3.3 Vẽ đường bình độ tam giác 68 3.3.4 Làm trơn đường bình độ 68 PHẦN THỰC NGHIỆM 70 KẾT LUẬN VÀ KIẾN NGHỊ 73 TÀI LIỆU THAM KHẢO 75 PHỤ LỤC 77   DANH MỤC CÁC BẢNG STT Tên bảng Bảng 2.1 Bảng 2.2 Bảng 2.3 Nội dung Mô tả cấu trúc liệu điểm thêm vào nằm tam giác iT Mô tả cấu trúc liệu điểm chèn nằm cạnh tam giác iT, iT’ Mô tả cấu trúc liệu hoán đổi tam giác Trang 53 55 56   DANH MỤC CÁC HÌNH VẼ STT Tên hình vẽ Nội dung Trang Hình 1.1 Biểu diễn liệu raster theo lưới điểm 13 Hình 1.2 Phác họa đối tượng dạng điểm 17 Hình 1.3  Phác họa đối tượng dạng đường 18 Hình 1.4  Phác họa đối tượng dạng vùng 18 Hình 1.5  Máy qt Scaner 19 Hình 1.6  Máy tồn đạc điện tử 20 Hình 1.7  Phương pháp đo ảnh quang gắn thiết bị số 20 Hình 1.8  Kính lập thể đo ảnh số 21 Hình 1.9  Mơ hình số địa hình dạng TIN 24 10 Hình 1.10  Xấp xỉ bề mặt địa hình 26 11 Hình 1.11  Các cơng đoạn quy trình thành lập mơ 28 12 Hình 1.12  Nội suy tuyến tính 29 13 Hình 1.13 Nội suy song tuyến tính 30 14 Hình 1.14 Nội suy theo phương pháp trung bình trọng 31 15 Hình 1.15 Phương pháp hình trịn động 32 16 Hình 1.16 Vịng trịn động lọc điểm 34 17 Hình 1.17 Biểu diễn bề mặt địa hình mơ hình 36 18 Hình 1.18 Mơ hình GRID 37 19 Hình 1.19  Biểu diễn bề mặt địa hình mơ hình TIN 38 hình số số GRID   20 Hình 1.20  Mơ hình TIN 39 21 Hình 2.1  Tối ưu hóa tam giác hóa Delaunay 44 22 Hình 2.2 Sơ đồ Voronoi 45 23 Hình 2.3 Mối liên hệ sơ đồ Voronoi lưới tam 46 24 Hình 2.4 Hốn đổi tam giác 48 25 Hình 2.5 Tam giác ảo p01 p02 p03 chứa tập điểm P 49 26 Hình 2.6 Quá trình thêm điểm 49 27 Hình 2.7 Mơ hình cấu trúc liệu tam giác 55 28 Hình 2.8 Phân chia tam giác điểm thêm vào nằm 53 29 Hình 2.9 30 Hình 2.10 31 Hình 2.11 32 Hình 2.12 Hốn đổi tam giác 33 Hình 2.13 Sơ đồ khối phương pháp tăng tiến 34 Hình 2.14 Lưới tam giác thêm điểm 59 35 Hình 2.15 Lật cạnh để lưới tam giác phù hợp với 60 35 Hình 2.16 Vùng có ranh giới đặc biệt 60 36 Hình 2.17 Phân hoạch vùng khơng gian 61 38 Hình 3.1 Thuật tốn Jordan 64 39 Hình 3.2 Thuật tốn nửa đường thẳng 64 40 Hình 3.3 Nội suy độ cao điểm tam giác 65 giác hóa Delaunay tam giác Mơ hình cấu trúc liệu tam giác 53 Phân chia tam giác điểm thêm vào nằm 54 cạnh tam giác Sơ đồ tổ chức liệu điểm nằm 54 cạnh 55 57 địa hình   Ứng dụng mơ hình TIN thành lập mặt cắt địa 66 41 Hình 3.4 42 Hình 3.5 Ví dụ lập mặt cắt theo mơ hình TIN 67 43 Hình 3.6 Nội suy đường bình độ 68 44 Hình 3.7 Ví dụ nội suy đường bình độ 69 45 Hình TN.1 Nhập liệu đo vào chương trình 70 46 Hình TN.2 Mơ hình TIN 70 47 Hình TN.3 Vẽ đường đồng mức 71 48 Hình TN.4 Quá trình thêm điểm mơ hình TIN 71 49 Hình TN.5 Tạo tuyến mơ hình TIN 72 50 Hình TN.6 Vẽ Trắc dọc, Trắc ngang mơ hình TIN 72 hình   MỞ ĐẦU Tính cấp thiết đề tài Trong trắc địa nói chung trắc địa cơng trình nói riêng, cơng tác đo vẽ đồ địa hình, thành lập đồ ba chiều (3D) mơ địa hình có ý nghĩa quan trọng Trước việc tiến hành theo phương pháp đồ giải truyền thống, nhiều thời gian công sức chưa thể phát triển Trong năm gần với phát triển mạnh mẽ công nghệ tin học, cơng tác thành lập mơ hình số phục vụ thành lập đồ ba chiều phát triển ứng dụng nhiều lĩnh vực kinh tế quốc dân Mơ hình số địa hình (DTM) đóng vai trị quan trọng khảo sát, thiết kế cơng trình nội suy đường bình độ, thành lập đồ số độ cao, thành lập mặt cắt địa hình, tính diện tích, thể tích lịng hồ, khối lượng đào đắp Công nghệ đồ số mô hình số ngày nhiều đơn vị, ngành ứng dụng phạm vi nghiên cứu, sản xuất Hiện nay, có nhiều ứng dụng mơ hình số nghiên cứu khoa học, sản xuất tư liệu địa hình phạm vi ứng dụng chuyên ngành hẹp, chưa mang tính nghiên cứu tổng thể hạn chế kinh phí thiết bị Trong lĩnh vực trắc địa ứng dụng, mơ hình số địa hình cơng cụ hữu hiệu để xử lý nhiều vấn đề khoa học – kỹ thuật, đặc biệt trình khảo sát thiết kế xây dựng cơng trình Trong phương pháp thành lập mơ hình số địa hình, phương pháp có ưu nhược điểm định, xong mơ hình TIN (Triangulated Irregular Network model) có nhiều ưu điểm trội Có nhiều thuật tốn xây dựng lưới tam giác (TIN), việc nghiên cứu thiết kế, xây dựng cấu trúc liệu phù hợp tìm thuật toán tối ưu toán xây dựng lưới tam giác để từ xây dựng chương trình phần mềm ứng dụng trắc địa cần thiết Đây xuất phát điểm việc lựa chọn đề tài: Nghiên cứu phương pháp thành lập sử dụng mơ hình số địa hình trắc địa cơng trình   Mục đích luận văn - Thiết kế xây dựng cấu trúc liệu phù hợp cho tối ưu toán xây dựng lưới tam giác - Tối ưu hoá thuật toán tạo lưới tam giác (TIN) - Xây dựng phần mềm ứng dụng mô hình số địa hình trắc địa Nhiệm vụ phạm vi nghiên cứu Nhiệm vụ đề tài nghiên cứu liệu dang không gian trắc địa, xây dựng tối ưu hóa thuật tốn biểu diễn đối tượng máy tính Trên sở đó, xây dựng thuật tốn thành lập, quản lý, biên tập mơ hình số địa hình module khai thác đồ mơ hình số địa hình ứng dụng thực tế sản xuất Lập chương trình phần mềm tương tác điều khiển tính Nội dung nghiên cứu đề tài - Nghiên cứu xây dựng thuật toán tìm bao lồi, nghiên cứu tốn hình học sở, thuật tốn xắp xếp, tìm kiếm tối ưu - Nghiên cứu tối ưu thuật toán tam giác hóa biên tập mơ hình số địa hình - Xây dựng phần mềm thành lập mơ hình số module ứng dụng mơ hình số cơng tác trắc địa Phương pháp nghiên cứu luận văn Trên sở lý thuyết mơ hình số địa hình nghiên cứu phát triển thuật tốn tổ chức liệu, biểu diễn quản lý, khai thác bề mặt địa hình máy tính Khảo sát lập chương trình phần mềm ứng dụng mơ hình số địa hình tốn ứng dụng mơ hình số địa hình trắc địa Ý nghĩa khoa học thực tiễn luận văn Đề tài đáp ứng nhu cầu khai thác sử dụng mơ hình số địa hình thực tế sản xuất Có ý nghĩa nghiên cứu khoa học, giảng dạy học tập Cấu trúc luận văn Luận văn gồm ba chương phần thực nghiệm   75 TÀI LIỆU THAM KHẢO VERA B ANAND Nguyễn Hữu Lộc (2000), Đồ họa máy tính mơ hình hóa hình học, Nhà xuất thành phố Hồ Chí Minh Cục Bản đồ BTTM (2000), Hệ phần mềm Mapping Office, Tài liệu tập huấn ngành Địa hình qn sự, Bộ Quốc phịng, Hà Nội Đặng Văn Đức (2001), Hệ thống thông tin địa lý GIS, Nhà xuất KHKT, Hà Nội Hoàng Ngọc Hà (2001), Tính tốn trắc địa Cơ sở liệu, Bài giảng cao học, Trường Đại học Mỏ Địa chất, Hà Nội Phan Văn Hiến nnk (1999), Giáo trình Trắc địa cơng trình, Nhà xuất Giao thơng vận tải, Hà Nội Hồng Thị Minh Hương (2004), Nghiên cứu ứng dụng hệ thống thông tin địa lý Trắc địa cơng trình, Luận văn thạc sĩ kỹ thuật, Trường Đại học Mỏ Địa chất, Hà Nội Nguyễn Hải Ninh (2001), Phương pháp thành lập mơ hình số địa hình ứng dụng khảo sát, thiết kế cơng trình thủy điện, Luận văn thạc sĩ kỹ thuật, Trường Đại học Mỏ Địa chất, Hà Nội NguyễnTrọng TrọngSan San - Đào Quang Hiếu - Đinh Cơng Hồ (2002), Nguyễn Trắc địa sở, Trường Đại học Mỏ Địa chất, Hà Nội Phạm Vọng Thành (2004), Mơ hình số độ cao nghiên cứu tài nguyên môi trường, Nhà xuất KHKT, Hà Nội 10 Trung tâm công nghệ mô (2003), Nghiên cứu ứng dụng lập phương án tác chiến mơ hình số chiều, thử nghiệm quy trình làm việc cộng tác mạng, Học viện Kỹ thuật Quân sự, Hà Nội 11 Vũ Ngọc Tước (2001), Mơ hình hố mơ máy tính, Nhà xuất Giáo dục, Hà Nội   76 12 BUROUGH P.A (1998), Principles of Geographical Information System for Land Resources Assessment, Oxford University Press, London, England 13 GeoConcept SA (1998), GeoConcept 3D Manuel d’Utilisation, Paris, France 14 IGN (2001), Introduction to mapping in GeoConcept GIS, Paris, France 15 A D Ivannhicov nnk (2001), Hệ thống thông tin địa lý, Nhà xuất MAKS Press, Moskva   77 PHỤ LỤC   78 Phụ lục MODULE THÀNH LẬP LƯỚI TAM GIÁC Public Function Triangulate(nvert As Integer) As Integer Dim Complete(MaxTriangles) As Boolean Dim Edges3(2, MaxTriangles * 3) As Long Dim Nedge As Long 'cho sieu tam giac Dim xmid As Double Dim ymid As Double Dim dx As Double Dim dy As Double Dim dmax As Double 'Cac bien tong hop Dim i As Integer Dim j As Integer Dim k As Integer Dim l As Integer Dim ntri As Integer Dim xc As Double Dim yc As Double Dim r As Double Dim inc As Boolean Dim pp1 As Long Dim pp2 As Long Dim pp3 As Long dx = Xmax - Xmin dy = Ymax - Ymin If dx > dy Then dmax = dx Else   79 dmax = dy End If xmid = (Xmax + Xmin) / ymid = (Ymax + Ymin) / Vertex(nvert + 1).X = xmid - * dmax Vertex(nvert + 1).Y = ymid - dmax Vertex(nvert + 2).X = xmid Vertex(nvert + 2).Y = ymid + * dmax Vertex(nvert + 3).X = xmid + * dmax Vertex(nvert + 3).Y = ymid - dmax Triangle(1).vv1 = nvert + Triangle(1).vv2 = nvert + Triangle(1).vv3 = nvert + Complete(1) = False ntri = For i = To nvert Nedge = j = Do j = j + If Complete(j) True Then inc = InCircle(Vertex(i).X, Vertex(i).Y, Vertex(Triangle(j).vv1).X, Vertex(Triangle(j).vv1).Y, Vertex(Triangle(j).vv2).X, Vertex(Triangle(j).vv2).Y, Vertex(Triangle(j).vv3).X, Vertex(Triangle(j).vv3).Y, xc, yc, r) 'Include this if points are sorted by X If (xc + r) < Vertex(i).X Then Complete(j) = True ElseIf inc Then Edges3(1, Nedge + 1) = Triangle(j).vv1 Edges3(2, Nedge + 1) = Triangle(j).vv2 Edges3(1, Nedge + 2) = Triangle(j).vv2 Edges3(2, Nedge + 2) = Triangle(j).vv3   80 Edges3(1, Nedge + 3) = Triangle(j).vv3 Edges3(2, Nedge + 3) = Triangle(j).vv1 Nedge = Nedge + Triangle(j).vv1 = Triangle(ntri).vv1 Triangle(j).vv2 = Triangle(ntri).vv2 Triangle(j).vv3 = Triangle(ntri).vv3 Complete(j) = Complete(ntri) j = j - ntri = ntri - End If End If Loop While j < ntri For j = To Nedge - If Not Edges3(1, j) = And Not Edges3(2, j) = Then For k = j + To Nedge If Not Edges3(1, k) = And Not Edges3(2, k) = Then If Edges3(1, j) = Edges3(2, k) Then If Edges3(2, j) = Edges3(1, k) Then Edges3(1, j) = Edges3(2, j) = Edges3(1, k) = Edges3(2, k) = End If End If End If Next k End If Next j For j = To Nedge If Not Edges3(1, j) = And Not Edges3(2, j) = Then   81 ntri = ntri + Triangle(ntri).vv1 = Edges3(1, j) Triangle(ntri).vv2 = Edges3(2, j) Triangle(ntri).vv3 = i Complete(ntri) = False End If Next j Next i i = Do i = i + If Triangle(i).vv1 > nvert Or Triangle(i).vv2 > nvert Or Triangle(i).vv3 > nvert Then Triangle(i).vv1 = Triangle(ntri).vv1 Triangle(i).vv2 = Triangle(ntri).vv2 Triangle(i).vv3 = Triangle(ntri).vv3 i = i - ntri = ntri - End If Loop While i < ntri Triangulate = ntri Nedge = For i = To ntri Edges3(1, Nedge + 1) = Triangle(i).vv1 Edges3(2, Nedge + 1) = Triangle(i).vv2 Edges3(1, Nedge + 2) = Triangle(i).vv2 Edges3(2, Nedge + 2) = Triangle(i).vv3 Edges3(1, Nedge + 3) = Triangle(i).vv3 Edges3(2, Nedge + 3) = Triangle(i).vv1 Nedge = Nedge + Next i k = For i = To Nedge For j = i + To Nedge   82 If Edges3(1, i) And Edges3(2, i) And Edges3(1, j) And Edges3(2, j) Then If (Edges3(1, Edges3(2, j)) i) Or = Edges3(1, (Edges3(1, j) i) And = Edges3(2, Edges3(2, j) i) = And Edges3(2, i) = Edges3(1, j)) Then k = k + Edges(k).p1 = Edges3(1, i) Edges(k).p2 = Edges3(2, i) Edges(k).tri1 = Round(i / + 0.4) 'cong vao 0.4 de lam tron no = stt tgiac Edges(k).tri2 = Round(j / + 0.4) Edges3(1, i) = Edges3(2, i) = Edges3(1, j) = Edges3(2, j) = End If End If Next j Next i tEdges = k 'cac canh lai la bao loi For i = To Nedge If Edges3(1, i) And Edges3(2, i) Then k = k + Edges(k).p1 = Edges3(1, i) Edges(k).p2 = Edges3(2, i) Edges(k).tri1 = Round(i / + 0.4) Edges(k).tri2 = End If Next i dEdges = k - tEdges i = Do i = i +   83 GTriangle(i).X = (Vertex(Triangle(i).vv1).X + Vertex(Triangle(i).vv2).X + Vertex(Triangle(i).vv3).X) / GTriangle(i).Y = (Vertex(Triangle(i).vv1).Y + Vertex(Triangle(i).vv2).Y + Vertex(Triangle(i).vv3).Y) / Loop While i < ntri End Function   84 Phụ lục MODULE VẼ ĐƯỜNG BÌNH ĐỘ Sub CreatContour(dm) Dim cP(10000) As dVertex 'contour point Dim tP1 As dVertex 'triangle points Dim tP2 As dVertex 'triangle points Dim tP3 As dVertex 'triangle points Dim d1i, d1j, d12, d13, d23, d2i, t1, t2, t3 As Double Dim j, k As Integer Dim hEnt(10000) As Long Dim idBlock, hBlock j = For i = To tTris d1i = -1: d1j = -1: d2i = -1: k = j tP1 = Vertex(Triangle(i).vv1) tP2 = Vertex(Triangle(i).vv2) tP3 = Vertex(Triangle(i).vv3) 'xet tung canh mot If (tP2.Z < dm And dm < tP1.Z) Or (tP2.Z > dm And dm > tP1.Z) Then d12 = Sqr((tP2.X - tP1.X) ^ + (tP2.Y - tP1.Y) ^ 2) d1i = d12 * (dm - tP1.Z) / (tP2.Z - tP1.Z) t1 = d1i / d12 If d1i >= Then j = j + cP(j).X = tP1.X + t1 * (tP2.X - tP1.X) cP(j).Y = tP1.Y + t1 * (tP2.Y - tP1.Y) cP(j).Z = dm End If End If If (tP3.Z < dm And dm < tP1.Z) Or (tP3.Z > dm And dm > tP1.Z) Then   85 d13 = Sqr((tP3.X - tP1.X) ^ + (tP3.Y - tP1.Y) ^ 2) d1j = d13 * (dm - tP1.Z) / (tP3.Z - tP1.Z) t2 = d1j / d13 If d1j >= Then j = j + cP(j).X = tP1.X + t2 * (tP3.X - tP1.X) cP(j).Y = tP1.Y + t2 * (tP3.Y - tP1.Y) cP(j).Z = dm End If End If If (tP2.Z < dm And dm < tP3.Z) Or (tP2.Z > dm And dm > tP3.Z) Then d23 = Sqr((tP3.X - tP2.X) ^ + (tP3.Y tP2.Y) ^ 2) d2i = d23 * (dm - tP2.Z) / (tP3.Z - tP2.Z) t3 = d2i / d23 If d2i >= Then j = j + cP(j).X = tP2.X + t3 * (tP3.X - tP2.X) cP(j).Y = tP2.Y + t3 * (tP3.Y - tP2.Y) cP(j).Z = dm End If End If 'xet cac dinh If tP1.Z = dm Then j = j + cP(j).X = tP1.X cP(j).Y = tP1.Y cP(j).Z = dm ElseIf tP2.Z = dm Then j = j + cP(j).X = tP2.X cP(j).Y = tP2.Y cP(j).Z = dm   86 ElseIf tP3.Z = dm Then j = j + cP(j).X = tP3.X cP(j).Y = tP3.Y cP(j).Z = dm End If If j = k + Then j = j + cP(j).X = cP(j - 1).X cP(j).Y = cP(j - 1).Y cP(j).Z = dm End If Next i For i = To j Step hEnt(i) = CadAddLine(hDwg, cP(i).X, cP(i).Y, cP(i).Z, cP(i + 1).X, cP(i + 1).Y, cP(i + 1).Z) Next i hBlock = CadAddBlock(hDwg, "C" & CStr(dm), cP(1).X, cP(1).Y, 0) If hBlock Then For i = To j Step CadBlockAddEntity hBlock, hEnt(i) Next i idBlock = CadBlockGetID(hBlock) CadAddInsBlock hDwg, idBlock, cP(1).X, cP(1).Y, 0, 1#, End If CadUpdate hDwg End Sub   87 Phụ lục MODULE LẬP MẶT CẮT Sub SectionCreat() ' Debug.Print Xcur, Ycur, Xcur1, Ycur1 Dim x1, y1, x2, y2 As Double Dim xc1, yc1, zc1, xc2, yc2, zc2, d12 As Double Dim pp(10000) As dVertex Dim pCros(10000) As dVertex Dim Ptem As dVertex Dim t1, t2 As Double Dim di1, Lsec As Double Dim i, j, NumHei, hBlock, idBlock As Long Dim hEnt(1000) As Long j = x1 = Xcur: y1 = Ycur x2 = Xcur1: y2 = Ycur1 'noi suy cao diem dau j = j + pp(j) = HeightInterpolate For i = To tEdges + dEdges xc1 = Vertex(Edges(i).p1).X: yc1 = Vertex(Edges(i).p1).Y: zc1 = Vertex(Edges(i).p1).Z xc2 = Vertex(Edges(i).p2).X: yc2 = Vertex(Edges(i).p2).Y: zc2 = Vertex(Edges(i).p2).Z 'tinh tham so t cua phuong trinh tham so tai giao diem cua hai duong thang 't2 la cua phung trinh duong thang mat cat, t1 la ptrinh canh tgiac t2 = ((y1 - yc1) * (xc2 - xc1) - (x1 - xc1) * (yc2 - yc1)) / ((x2 - x1) * (yc2 - yc1) - (y2 - y1) * (xc2 - xc1)) t1 = (t2 * (y2 - y1) + (y1 - yc1)) / (yc2 - yc1) If t2 >= And t2 = And t1

Ngày đăng: 22/05/2021, 12:42

Xem thêm:

Mục lục

    TÀI LIỆU THAM KHẢO

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

TÀI LIỆU LIÊN QUAN