2010-09-18 40 views
7

Lời chào,giao lộ phân đoạn-đa giác

Tôi muốn phát hiện xem phân đoạn có 'chạm' đa giác hoặc gạch chéo hay không.

Các Hình

alt text

giải thích nghi ngờ của tôi. Làm thế nào để biết sự khác biệt giữa các trường hợp A và B? Lưu ý rằng trong cả hai trường hợp, đường màu đỏ đi qua các đa giác ở hai đỉnh, một chạm vào bên ngoài và các đường cắt ngang khác bên trong. Tôi có thuật toán giao cắt phân đoạn, nhưng tôi không biết cách sử dụng nó đúng cách. Bất kỳ trợ giúp được đánh giá cao.

+0

Đa giác của bạn luôn đơn giản, hoặc chúng có thể phức tạp không? –

+0

Đa giác lõm không có các cạnh tự giao nhau. Lỗ có thể tồn tại. – ricfow

+0

không chắc chắn bạn vẫn có câu hỏi hay không. Nhận xét của bạn cho câu trả lời của giáo sư O'Rourke dường như cho thấy bạn chưa có, nhưng bạn chưa chấp nhận câu trả lời của mình (chưa). –

Trả lời

4

Tôi nghĩ rằng có thể không có cách tiếp cận nào dễ dàng hơn nhiều so với việc tính toán chi tiết ở mức thấp. Trước tiên, bạn sẽ cần mã mạnh để tính toán giao lộ giữa hai đoạn. Điều này được thảo luận (có mã) here. Khi bạn có các điểm giao nhau, bạn cần để tính toán cách ranh giới đa giác tương tác với phân đoạn của bạn trong vùng lân cận của các điểm giao nhau đó là . Về cơ bản, đây là số lặp lại LeftOf() tính toán, sử dụng ký pháp trong sách của tôi. Trong hình ảnh của bạn, phân khúc đi qua đỉnh b, trong khi các đỉnh liền kề mộtc (trong một chuỗi liên tiếp (a, b, c)) đều đến cùng một phía của b. Do đó, đoạn không xâm nhập vào bên trong đa giác trong vùng lân cận của b. Nhưng nếu ac nằm ở hai bên đối diện của đoạn đó, thì phải xuyên qua.

+0

Cảm ơn rất nhiều Giáo sư O'Rourke. Ý tưởng đằng sau 'LeftOf' giải quyết vấn đề khi phân đoạn cắt hình đa giác ở đỉnh. – ricfow

0

Nói chung, một giao lộ có thể bao gồm nhiều điểm. Ví dụ: xem http://cagd.cs.byu.edu/~557/text/ch7.pdf thảo luận về cách đường cong phẳng cắt nhau và đường cong tiếp tuyến cắt nhau tại hai điểm "được tính đúng", phản trực giác. Trong trường hợp của một đa giác lồi với một đường chăn thả, giao lộ có hai điểm "được tính đúng không?" Trong trường hợp của bạn, có hai điểm giao nhau với hai điểm không?

Vì vậy, Giáo sư O'Rourke đưa ra thuật toán tính toán số điểm trong giao lộ, để nói. Thực tế, một gói cho giao lộ tính toán có trả về số điểm trong mỗi giao lộ không?

Các vấn đề liên quan