2015-09-16 2 views
1

Я пишу приложение python для выбора прямоугольных областей, когда пользователь установил 2 точки (длину прямоугольника), третья и четвертая точки ограничены в формировании прямоугольника, где ширина прямоугольника дается выражением разность Y курсора мыши и последней точки.Как найти координату X точки на линии, заданной другой точкой линии и двумя точками на перпендикулярной линии?

Вот краткое изображение, чтобы объяснить, что я ищу в X-координата точки С.

enter image description here

Я знаю:

  • A (2,3)
  • B (5,5)
  • угол = 90 градусов
  • Координата Y по оси С равна 7.

Я не уверен, как справиться с этим ... с использованием векторов? Я использую numpy в своем проекте.

ответ

2

Это скорее математический вопрос, чем проблема с несколькими проблемами.

Наклон (AB) - (y_a - y_b)/ (a - b). Таким образом, наклон любого перпендикуляра к (AB) равен p=(b-a)/(y_a-y_b) (напротив инверсного исходного наклона).

Отсюда легко определить уравнение перпендикуляра (AB), проходящее через B: y-y_b=p*(x-x_b). И заменить y_c на y найти x_c

Существует проблема (деление на ноль), если (AB) горизонтально (0 наклон). В этом случае x_c - это только x_b (все точки на (BC) имеют одинаковую координату x)

+0

Ах! это было легко ... хорошо спасибо – fatz

Смежные вопросы