Tôi đang vẽ một hình chữ nhật lên canvas và một đường thẳng từ giữa hình chữ nhật đến một số điểm ngẫu nhiên trong không gian tọa độ.Đường chéo Hình chữ nhật - cách tìm điểm giao nhau?
Bây giờ, tôi muốn cắt bớt đường theo độ dài bên trong hình chữ nhật sao cho dòng bắt đầu ở cạnh hình chữ nhật.
Tôi làm cách nào để thực hiện việc này?
Ví dụ
- Hình chữ nhật có thể được xác định bởi 2 điểm:
Pstart(1, 3)
,Pend(3, 1)
- Điểm trung tâm có thể được tính đến:
P(2, 2)
- Bây giờ vẽ đường
P(2, 2)
-Q(10, 2)
.
Vì tôi biết chiều rộng của hình chữ nhật là 2, tôi có thể yêu cầu dòng bắt đầu tại P(4, 2)
thay vì P(2, 2)
.
Điều này trở nên phức tạp hơn khi điểm không song song với một trong các trục XY. Hơn nữa chiều dài bên trong hình chữ nhật sẽ là số tiền khác nhau cho các đường chéo.
Làm cách nào tôi có thể tính toán độ lệch bắt đầu cho điểm dòng đối với tâm của hình chữ nhật và điểm kết thúc của đường?
Có lẽ tôi phải tìm điểm mà đường thẳng sẽ vượt qua hình chữ nhật, và sau đó chỉ để cho dòng bắt đầu tại điểm giao nhau. Nhưng làm thế nào tôi có thể nhận được điểm này?
Có một loạt các giải pháp trên trang này: http: // stackoverflow.com/questions/1585525/how-to-find-the-intersection-point-between-a-line-và-a-rectangle Chọn giải pháp trên trang đó có ý nghĩa nhất đối với bạn và nhận được nó. – Michael