2010-01-18 60 views
5

Tôi đang cố gắng tìm một thuật toán sẽ tính toán giao điểm giữa 2 hình chữ nhật, không nhất thiết phải căn chỉnh trục và trả về giao lộ kết quả.Giao diện hình chữ nhật không trục liên kết

This question mô tả việc tìm xem giao lộ có tồn tại hay không. Tôi muốn có hình dạng kết quả của giao lộ, nếu nó tồn tại.

Ứng dụng của tôi về thuật toán sẽ sử dụng một hình chữ nhật được căn chỉnh trục và hình chữ nhật không nhất thiết phải được căn chỉnh theo trục, nhưng một thuật toán chung sẽ thích hợp hơn.

Cảm ơn!

+2

Câu trả lời được cung cấp đầy đủ tại đây ... http://stackoverflow.com/questions/8011267/area-of-rectangle-rectangle-intersection – Fattie

Trả lời

2

One algorithm for finding the intersection của bất kỳ đa giác lồi hai nào liên quan đến việc tìm kiếm vỏ lồi xung quanh tất cả các đỉnh. Vỏ lồi theo đường viền của bất kỳ đa giác nào là ngoài cùng; hình dạng bạn đang tìm kiếm theo đường viền của bất kỳ hình đa giác nào là bên trong nhất, vì vậy hãy làm theo bất kỳ hình nào của vỏ lồi không theo dõi. Here is a prettier picture của cùng một thuật toán.

This extremely brief wiki page đề cập đến hai thuật toán khác. Người ta đã phá vỡ các đa giác thành hình thang. Khác là một cách rất thông minh của đi bộ xung quanh cả hai đa giác ngược chiều kim đồng hồ trong bước khóa. Tôi nghĩ tôi thích cái này nhất, nhưng như wiki nói, nó khá khó tả.

+0

Đây là những gì tôi đang tìm kiếm, cảm ơn! –

3

Here's thuật toán giao điểm đa giác đa giác với các nguồn trong C và Java, trả về khu vực giao lộ.

+0

Từ những gì tôi có thể biết từ liên kết của bạn, họ đang xem khu vực của hình dạng, nơi tôi cần định nghĩa về hình dạng. Cảm ơn bạn đã trả lời! –

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