Подписка на блог

РСС — лучше всего

Ещё есть автоматические трансляции в Тумблере и Же-же. Если что-то не работает, напишите мне: ilyabirman@ilyabirman.ru.

Математику забыл

Две точки заданы своими координатами: A (xA, yA) и B (xB, yB). Найти координаты третьей точки C (xC, yC) такие, что:
  1. отрезки AC и BC равны;
  2. угол ACB — прямой.
Кто умный?

Update: Умный — Centaur.
Подписаться на блог
Поделиться
Отправить
6 комментариев
Oleg Andreev
1. k=-(xB-xA)/(yB-yA); p = (yA+yB)/2 — k*(xA+xB)/2; Все координаты C: k*x + p = y
Если yB-yA = 0, то любые yC и xC = (xA+xB)/2

2. (x-(xB-xA)/2)^2 + (y-(yB-yA)/2)^2 = [(xB-xA)^2+(yB-yA)^2]/4. Есть исключительные случаи: A=C или B=C
Улитка
А тригонометрией пользоваться можно?
IronRat
A(xA, yA); B(xB, yB); O(xO, yO)
O(xO, yO) — середина отрезка AB, где xO = (xA + xB) / 2, yO = (yA + yB) / 2
y = kx + b — уравнение прямой, проходящей через точки A и B, где
k = (yB — yA) / (xB — xA),
b = (xByA — xAyB) / (xBvv — xA)
y = -(1/k)x + b1 — уравнение прямой, перпендикулярной данной
b1 = y + (1/k)x
подставив вместо x и y xO и yO соответственно, получим уравнение прямой, перпендикулярной данной и проходящей через точку O(xO, yO):
y = -(1/k)x + (yO + (1/k)xO).
Расстояние, которое необходимо отложить от точки О по полученной прямой равно отрезку OA:
OA = корень
может ночью что приснится....
(а вообще, есть уравнение прямой, есть длина отрезка от заданной точки на этой прямой, найти вторую точку, также лежащую на данной прямой — делов-то :)
IronRat
Ну, например, решить систему уравнений:
OA = корень((xC — xO)2 + (yC — yO)2)
yC = -(1/k)xC + b1
Если сделаешь все это и получишь координаты точки С — можешь считать себя грязным извращенцем.
Ultima
Илья!
Что тут делают фидошники?
Илья Бирман
Учитывая всё это меня больше интересует другой вопрос: что тут делаешь ты?
Centaur
Вы как-то сложно думаете…

Пусть O = середина AB:
O = (A + B) / 2, покоординатно.
Пусть также
r = B — O = (B — A) / 2, опять же покоординатно.
Из второго условия — C лежит на окружности с диаметром AB. То есть с центром в O и радиусом r.
Из первого условия — C лежит на серединном перпендикуляре к отрезку AB. То есть на перпендикуляре в точке O.
Перпендикуляр к вектору r = (rx, ry) есть, например, r’ = (-ry, rx).
Отсюда C = O ? r’,
xC,1 = (xA + xB — yB + yA) / 2,
yC,1 = (yA + yB + xB — yA) / 2,
xC,2 = (xA + xB + yB — yA) / 2,
yC,1 = (yA + yB — xB + yA) / 2.
Илья Бирман
Спасибо большое, работает.

Пользовательский интерфейс
Доступны два раздела
электронного учебника

Популярное