Tính toán một đa giác hình cầu


11

Tôi muốn một cách tổng quát để tính toán trọng tâm cho đa giác trên một hình cầu.

Cho đến nay, tài liệu tham khảo trực tuyến tốt nhất dường như là:

Công cụ cho đồ họa và hình dạng của Jeff Jenness.

Phương pháp được mô tả ở đó cho thấy phân rã đa giác thành nhiều hình tam giác hình cầu, và tính toán trung bình của các hình tam giác hình cầu, có trọng số bằng diện tích tam giác hình cầu.

Tôi biết rằng có một số cách để xác định một trung tâm đa giác hình cầu, nhưng tôi đang tìm kiếm một cái gì đó tương tự với các định nghĩa sau đây cho các điểm và polylines:

  • Điểm : trung bình số học của các vectơ Cartesian đại diện cho các điểm.
  • Polylines : trung bình có trọng số của vectơ Cartesian đại diện cho điểm giữa của mỗi đoạn đường, được tính theo chiều dài (hình cầu) của mỗi đoạn.

Có vẻ như một sự tiếp tục hợp lý để có các đa giác đa giác được định nghĩa là trung bình có trọng số của phân rã tam giác, được tính theo diện tích.

Câu hỏi của tôi là liệu phương thức trong tài liệu tham khảo ở trên sẽ hoạt động bất kể phân tách tam giác được sử dụng. Cụ thể, nó đề cập đến việc phân hủy thành các hình tam giác so với một điểm tùy ý, thậm chí bên ngoài đa giác, do đó một số hình tam giác sẽ có các vùng âm đóng góp trọng số âm.

Liên quan: Làm thế nào để tìm trung tâm hình học của một đối tượng?

Câu trả lời:


9

Nó sẽ không hoạt động ổn định ngay cả khi bạn thực hiện tất cả các tam giác liên quan đến một điểm cố định duy nhất . Vấn đề là các tính toán hình cầu và Euclide đang được trộn lẫn mà không có bất kỳ xem xét về ý nghĩa của chúng.

Một cách để làm cho điều này trở nên rõ ràng là xem xét một hình tam giác khá cực, chẳng hạn như gần một nửa bán cầu. Chẳng hạn, bắt đầu từ (lon, lat) = (-179, 0), chạy dọc theo đường xích đạo đến (0, 0), sau đó lên đến cực bắc tại (0, 90), sau đó quay lại điểm bắt đầu tại (- 179, 0). Đây là một hình tam giác 90-179-90 bao gồm hầu hết nửa phía bắc của bán cầu tây. Vấn đề là các điểm cuối của nó (được hiển thị dưới dạng các chấm trắng trong hình) thực tế nằm trong một mặt phẳng: một điểm nằm ở cực và hai điểm còn lại gần như nằm đối diện với nó. Do đó, trung bình của chúng, được chiếu trở lại hình cầu (chấm đỏ), gần như ở cực - nhưng đó là khoảng cách xa bất kỳ trung tâm hợp lý nào mà người ta có thể có được:

Tam giác hình cầu lớn

Một ví dụ khác, chúng ta hãy tam giác một đa giác đại diện cho bán cầu trên so với tâm của nó, Bắc Cực. Chúng ta sẽ luôn chia bán cầu Tây thành hai nửa bằng nhau, mỗi nửa là một hình tam giác 90-90-90 (do đó tránh mọi vấn đề với các tam giác lớn, bán cầu kéo dài). Tuy nhiên, bán cầu Đông sẽ được chia thành n nửa bán bằng nhau. Các đỉnh của lune k ( k = 1, 2, ..., n ) có tọa độ (lon, lat)

((k-1) * 180/n, 0),  (k * 180/n, 0),  (k * 180/n, 90).

Lunes cho k = 8

Hình này hiển thị thiết lập cho k = 8. Các chấm màu đỏ là các "tâm" tam giác riêng được tính theo tài liệu "Công cụ cho đồ họa và hình dạng", trang 65-67.

Thực hiện các tính toán, tôi thấy rằng với k = 2, trung tâm có diện tích thực sự nằm ở Bắc Cực (như được biểu thị bằng các cân nhắc đối xứng), nhưng khi n tăng lên, kết quả nhanh chóng chuyển sang bán cầu Tây và, trong giới hạn, tiếp cận vĩ độ 89,556 độ dọc theo kinh độ -90 độ. Đây là khoảng 50 km về phía nam của Bắc Cực.

Phải thừa nhận rằng, sai số +/- 50 km cho đa giác kéo dài 20.000 km là nhỏ; tổng số lượng biến thiên tùy ý do các tam giác khác nhau trong trường hợp này chỉ là 0,5%. Rõ ràng các lỗi tương đối có thể được tạo ra lớn tùy ý bằng cách bao gồm các tam giác âm (chỉ cần cộng và trừ một số tam giác thực sự lớn so với một tam giác nhỏ). Bất kể, bất cứ ai sẽ nỗ lực thực hiện các tính toán hình cầu rõ ràng là cố gắng tránh các lỗi chiếu, vì vậy họ đang tìm kiếm độ chính xác cao. Phương pháp tam giác này không thể được khuyến khích.


Bạn đã chứng minh rằng các lỗi có thể tích lũy cho n lớn, nhưng không rõ ràng rằng cách tiếp cận này nhất thiết là thiếu sót. Giá trị nào của n bạn đã sử dụng để đạt được giá trị giới hạn?
Jason Davies

Ngoài ra, cảm ơn rất nhiều vì đã thực hiện các tính toán và xem xét sâu này. Tôi chỉ muốn làm rõ hơn một chút trước khi tôi có thể đặt vấn đề vào phần còn lại. :)
Jason Davies

Jason, tôi đã thêm một ví dụ sơ bộ để cung cấp cho bạn một số trực giác. Giới hạn bản thân được tiếp cận nhanh chóng; Một vài chục lunes sẽ giúp bạn có được một vài chữ số có ý nghĩa. Nhưng ví dụ mới phải đặt ra để đặt ra bất kỳ nghi ngờ dai dẳng nào về việc tam giác có trọng số này làm bất cứ điều gì hợp lý - ngoại trừ các tam giác nhỏ, nơi bạn tốt hơn nhiều khi thực hiện các phép tính trong tọa độ chiếu ở vị trí đầu tiên. Lý do duy nhất để thực hiện các phép tính hình cầu là khi khu vực phân tích của bạn thực sự toàn cầu, sau đó tất cả các dự đoán đưa ra rất nhiều biến dạng.
whuber

1
Tuyệt vời, cảm ơn. Vì vậy, nếu tôi hiểu chính xác, chỉ cần lấy trung bình các vectơ Cartesian sẽ không dẫn đến một trọng tâm hợp lý cho một hình tam giác hình cầu (đặc biệt là những hình lớn như ví dụ đầu tiên của bạn). Tôi sẽ điều tra các phương pháp tốt hơn, ví dụ như tìm giao điểm của các đường trung tuyến lớn.
Jason Davies

BTW, tôi vẫn hy vọng rằng một nhân giáp có diện tích hình cầu tương tự như trên sẽ hoạt động. Tưởng tượng mỗi đa giác được cung cấp một khối 3D bằng cách thêm một đỉnh ở gốc của hình cầu. Sau đó treo quả cầu bằng một chuỗi vô hình kết nối với nguồn gốc của nó và tìm trạng thái cân bằng ổn định. Trọng tâm là điểm cuối cùng (đó là hình chiếu của tâm khối lên bề mặt hình cầu). Điều này sẽ hoạt động ngoài một vài trường hợp mơ hồ, ví dụ như một dải đi xung quanh đường xích đạo, nơi tôi chỉ có thể chọn một điểm hợp lý. Rất vui được thảo luận trong một câu hỏi mới nếu bạn nghĩ nó đáng giá.
Jason Davies

3

Đó là một ý tưởng tốt để liệt kê các thuộc tính mà tâm của đa giác nên có. Dưới đây là tiêu chí của tôi:

(a) Đây là một thuộc tính của nội thất đa giác (thay vì các đỉnh hoặc cạnh). Do đó, việc tách một cạnh thành hai bằng cách chèn thêm một đỉnh không nên thay đổi vị trí của tâm. Lưu ý rằng định nghĩa về tâm của Jenness không thành công trên tiêu chí này, vì vị trí của tâm sẽ phụ thuộc vào cách đa giác được chia thành các hình tam giác.

(b) Làm phiền hình dạng của đa giác một chút nên di chuyển trung tâm một chút. Ở đây cần thiết phải áp đặt một giới hạn về phạm vi tổng thể của đa giác (ví dụ, đối với một bán cầu). Không có hạn chế này, thật dễ dàng để xây dựng các trường hợp trong đó trung tâm sẽ đột nhiên di chuyển sang phía đối diện của trái đất với một chuyển động nhẹ của một đỉnh. Điều kiện này không bao gồm các phương pháp yêu cầu trung tâm nằm bên trong đa giác.

(c) Nó sẽ giảm theo định nghĩa phẳng của centroid cho đa giác nhỏ.

Dưới đây là hai cách tiếp cận thỏa mãn các tiêu chí sau:

(1) Tính toán trọng tâm cho đa giác ellipsoidal theo ba chiều và chiếu trở lại bề mặt ellipsoid (dọc theo bình thường với ellipsoid). Lợi thế lớn: trọng tâm có thể được tính bằng cách chia đa giác thành các hình đơn giản hơn.

(2) Trọng tâm là điểm có khoảng cách trắc địa RMS tối thiểu đến tất cả các điểm trong phần bên trong của đa giác. Xem Buss và Fillmore, "Trung bình hình cầu và ứng dụng cho phép nối và nội suy hình cầu", Giao dịch ACM trên đồ họa 20 , 95 tranh126 (2001). Ưu điểm lớn: điểm kết quả không phụ thuộc vào cách bề mặt được nhúng trong R 3 .

Thật không may, cả hai định nghĩa này đều không đơn giản để đưa vào thực tế. Tuy nhiên , phương pháp đầu tiên có thể được thực hiện đơn giản cho một hình cầu. Khu vực "cơ bản" tốt nhất để sử dụng là tứ giác giới hạn bởi một cạnh của đa giác, hai kinh tuyến thông qua các điểm cuối của cạnh và đường xích đạo. Kết quả cho toàn bộ đa giác đòi hỏi tổng kết các đóng góp trên các cạnh. (Cần thực hiện các bước bổ sung nếu đa giác bao quanh một cực.)

Giả sử điểm cuối của cạnh là ( 1 , 1 ) và ( 2 , 2 ). Đặt các góc phương vị của cạnh và các điểm cuối bằng α 1 và α 2 . Giả sử bán kính của hình cầu là 1, diện tích của tứ giác là

  A = α 2 - α 1
      = 2 tan −1 [tan ½ (λ 2 - λ 1 ) sin ( 2 + φ 1 ) / cos ½ (φ 2 + φ 1 )]

(Công thức này cho khu vực, do Bessel, về cơ bản hoạt động tốt hơn về mặt số lượng so với công thức của L'Huilier thường được sử dụng cho diện tích của một hình tam giác.)

Các thành phần của tâm cho tứ giác này được cho bởi

  2 Mộtx ⟩ = φ 2 sin (λ 2 - λ 0 ) - φ 1 sin (λ 1 - λ 0 )
  2 Mộty ⟩ = cos α 02 - σ 1 ) - (φ 2 cos (λ 2 - λ 0 ) - φ 1 cos (λ 1 - λ 0 ))
  2 Mộtz ⟩ = (λ 2 - λ 1 ) - sin α 02 - σ1 )

Trong đó σ 2 - 1 là chiều dài của cạnh và λ 0 và α 0 là kinh độ và góc phương vị của cạnh nơi nó đi qua đường xích đạo, và trục xy được định hướng sao cho đường xích đạo nằm ở x = Tất nhiên, 1, y = 0. ( z là trục xuyên qua cực).


Bạn có thể giải thích tại sao vị trí trung tâm của Jenness sẽ phụ thuộc vào cách đa giác được chia thành các hình tam giác không? Tôi biết từ ví dụ của @ whuber rằng phép tính centroid của Jenness là sai đối với các hình tam giác hình cầu, nhưng điều gì sẽ xảy ra nếu một centroid dựa trên các trung tuyến tam giác hình cầu được sử dụng thay thế? Điều này vẫn sẽ thất bại?
Jason Davies

Jenness thay thế một cách hiệu quả đa giác hình cầu bằng một tập hợp các hình tam giác phẳng và tính toán trọng tâm của chúng. Rõ ràng (?), Kết quả sẽ phụ thuộc vào phân vùng. Thực hiện tính toán tôi đã phác thảo bằng cách sử dụng các tâm của hình tam giác hình cầu là tốt. Bạn có thể tìm thấy công thức cho trọng tâm trong JE Brock, Máy đo quán tính cho tam giác hình cầu, J. Cơ học ứng dụng 42, 239 (1975) dx.doi.org/10.1115/1.3423535
cffk

Tôi nhìn lại tờ giấy của Brock. Công thức của ông cho tâm khối lượng của một tam giác hình cầu liên quan đến một tổng trên các cạnh của tam giác. Do đó, nó có thể được khái quát hóa một cách tầm thường để áp dụng cho một đa giác (mà không cần phải chia nó thành hình tam giác).
cffk

Bạn có nhớ cung cấp một tài liệu tham khảo cho việc tính toán diện tích do Bessel không? Tôi dường như không thể tìm thấy nó ở bất cứ đâu, và tôi thích viết một thói quen khu vực đa giác hình cầu nhanh (và chính xác). Cảm ơn!
Jason Davies

Tôi tìm thấy nó, và nhận ra bạn đã dịch nó sang tiếng Anh, vì vậy cảm ơn bạn. :)
Jason Davies
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.