2010-06-14 46 views

Trả lời

1
  1. Kiểm tra hoặc là họ giao nhau đầu tiên (cố gắng lấy điểm từ một hình chữ nhật và kiểm tra hoặc nó nằm bên trong hình chữ nhật khác).
    Có một số cách để thực hiện. Một phương pháp (không phải là phương pháp tốt nhất, nhưng dễ giải thích) là như sau.
    Hãy để A1, A2, A3, A4 - các điểm hình chữ nhật, T - một số điểm khác.
    Sau đó, đếm hình vuông cho hình tam giác:
    S1 = (A1,A2,T), S2 = S(A2,A3,T), S3 = S(A3, A4, T), S4 = S(A4, A1, A2).
    Hãy để S_rectangle là hình vuông phản ứng.
    Sau đó, T nằm bên trong hình chữ nhật < =>S1 + S2 + S3 + S4 = S_rectangle.

    Nếu reactangles không giao nhau, sau đó thực hiện các bước sau.

  2. Tính tọa độ của tất cả 8 điểm của 2 hình chữ nhật.

  3. Tối thiểu trong số tất cả 4 * 4 = 16 cặp điểm (điểm từ các hình chữ nhật khác nhau).
    Hãy biểu thị nó min_1. Sau đó, lấy một số điểm từ hình chữ nhật đầu tiên (4 cách để làm điều đó),
    lấy 4 phân đoạn của một hình chữ nhật khác (4 cách),
    kiểm tra vuông góc từ điểm đó đến phân khúc đó được phân đoạn bên trong.
    Lấy mininmum của perpendiculars như vậy. Hãy biểu thị nó min_2.

  4. Giống như trong 3, nhưng lấy điểm từ hình chữ nhật thứ hai, dòng từ đầu tiên:
    bạn nhận được min_3.

  5. result = min(min_1, min_2, min_3)

+0

Cảm ơn bạn rất nhiều. Có vẻ như OK :) – WhiteFlare

+0

@WhiteFlare, bạn được chào đón! – Max

+1

Nếu họ giao nhau thì sao? –

1
  1. Tính tọa độ của tất cả 8 điểm của 2 hình chữ nhật.
  2. Lấy hai khoảng cách thấp nhất trong số tất cả 4 * 4 = 16 cặp điểm (điểm từ các hình chữ nhật khác nhau). Và có được 3 điểm P1, P2 và P3 {Hai trong số họ thuộc về một hình chữ nhật và thứ ba đến đầu kia}
  3. 2 điểm thuộc về một hình chữ nhật nên coi là phân khúc, Bây giờ tìm khoảng cách ngắn giữa phân đoạn và điểm thứ ba.
Các vấn đề liên quan