09-12-2008, 23:26
|
|
|
חבר מתאריך: 28.08.03
הודעות: 485
|
|
למה כזה מהר להרים ידיים? מצאתי פתרון
קצת מסובך אבל נראה לי נכון-
נחשב עבור כל קטע את הקו הישר עליו הוא נמצא(באמצעות שתי הנקודות הנתונות)
לאחר מכן נחשב את נקודת החיתוך של שני הישרים שמצאנו
ועכשיו מה שנשאר לבדוק זה האם הנקודה המשותפת נמצאת על הקטעים עצמם
וזה ייעשה על ידי-
אם הנתונים הם כמו שרשמתי
קטע א מ-(x1,y1) ל-(x2,y2)
וקטע ב מ-(x3,y3) ל-(x4,y4)
ומצאנו שנקודת החיתוך של שני הישרים עליהם מונחים הקטעים היא (X*,Y*)
צריך לבדוק שמתקיים
[x1<x*<x2 או x2<x*<x1] וגם
[y1<y*<y2 או y2<y*<y1] וגם
[x3<x*<x4 או x4<x*<x3] וגם
[y3<y*<y4 או y4<y*<y3]
בכל מקרה,
זה נראה לי נכון,
אם למישהו יש פתרון יותר פשוט אשמח לשמוע
|