Як знайти точку перетину відрізків

Як знайти точку перетину відрізків

Найпростіші геометричні примітиви, такі як точки, прямі, площини, фігурують в більшості наукових і інженерних задач, пов’язаних з проектуванням, графічними побудовами, візуалізацією і машинної графікою. Подібні завдання, як правило, вирішуються шляхом застосування принципу декомпозиції і зведення їх до послідовностей елементарних дій з геометричними примітивами. Так, складні тривимірні об’єкти в машинній графіці апроксимуються полігонами, а ті в свою чергу — трикутниками, трикутники задаються відрізками ребер, які визначаються їх кінцевими точками. Саме тому розуміння того, як вирішити найпростіші геометричні задачі, наприклад того, як знайти точки перетину відрізків, дуже важливо для будь-якого технічного фахівця.

Вам знадобиться

Аркуш паперу, ручка.

Інструкція

  1. Підготуйте вихідні дані. У якості вихідних даних зручно прийняти відрізки, задані координатами точок їх кінців у декартовій системі координат. У даній системі координатні осі ортогональні і мають однаковий лінійний масштаб. Припустимо, є відрізки O1 і O2. Відрізок O1 заданий точками з координатами P11 (x11, y11) і P12 (x12, y12), а відрізок O2 заданий точками з координатами P21 (x21, y21) і P22 (x22, y22).
  2. Складіть рівняння прямих, до яких належать відрізки O1 і O2. Рівняння прямої відрізка O1 буде мати вигляд: K1 * x + d1-y = 0. Рівняння прямої відрізка O2 буде мати вигляд: K2 * x + d2-y = 0. Тут K1 = (y12-y11) / (x12-x11), d1 = (x12 * y11-x11 * y12) / (x12-x11), K2 = (y22-y21) / (x22-x21), d2 = ( x22 * y21-x21 * y22) / (x22-x21).
  3. Розв’яжіть систему рівнянь, що складається з рівнянь прямих, складених на попередньому кроці. Вирахувавши з першого рівняння друге, можна отримати: K1 * x-K2 * x + d1-d2 = 0. Звідки x = (d2-d1) / (K1-K2). Підставивши x в перше рівняння, отримаємо: y = K1 * (d2-d1) / (K1-K2) + d1. Значення K1, K2, d1, d2 відомі. Точка P (x, y) є перетином прямих, на яких лежать вихідні відрізки.
  4. Перевірте, чи є точка з координатами знайденими точкою перетину саме відрізків, а не прямих, на яких вони лежать. Для цього переконайтеся, що координата точки x належить одночасно діапазонам значень [x11, x12] і [x21, x22], а координата y належить одночасно діапазонам [y11, y12] і [y21, y22].