Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Даны координаты 3-ёх вершин прямоугольника. Найти координаты 4-ой вершины.

Великий Зомбини Ученик (94), закрыт 9 лет назад
Лучший ответ
Globe Просветленный (24852) 9 лет назад
Получаете координаты трех вершин: (x1, y1) (x2, y2) (x3, y3)
Выясняете, какой угол - прямой:

(x2-x1)*(x3-x1)+(y2-y1)*(y3-y1) = 0, значит, прямой угол - при вершине (x1, y1)
тогда координаты четвертой вершины равны:
x = x1 + (x2-x1) + (x3-x1)
y = y1 + (y2-y1) + (y3-y1)

(x1-x2)*(x3-x2)+(y1-y2)*(y3-y2) = 0, значит, прямой угол - при вершине (x2, y2)
тогда координаты четвертой вершины равны:
x = x2 + (x1-x2) + (x3-x2)
y = y2 + (y1-y2) + (y3-y2)

(x1-x3)*(x2-x3)+(y1-y3)*(y2-y3) = 0, значит, прямой угол - при вершине (x3, y3)
тогда координаты четвертой вершины равны:
x = x3 + (x1-x3) + (x2-x3)
y = y3 + (y1-y3) + (y2-y3)

????
PROFIT!
Великий ЗомбиниУченик (94) 9 лет назад
"Выясняете, какой угол - прямой: "
Вот честно даже читать дальше не стала.. . я же написала ПРЯМОУГОЛьник
Великий Зомбини Ученик (94) там все углы прямые
Великий ЗомбиниУченик (94) 9 лет назад
вот знаешь.. . это все хоть и работает, а я всеравно не знаю откуда ты все это взял. но я разберусь. спасибо)
Сергей Марков Мудрец (10416) Зомбини, автор ответа ищет прямой угол треугольника, образованного тремя известными координатами, но не прямоуголника.
Зейнеп ЕркебулановнаУченик (103) 4 года назад
благодарю вас
Остальные ответы
Старк Просветленный (29505) 9 лет назад
это же элементарно

просишь в вести координаты вершины (их всего три)

это значит по два числа на вершину (Х и У) - создаешь при этом масив двух мерный

и загоняешь туда последовательно 3 отданых числа х и у

далее создаем некую логику

нас интересует всего лишь введенные первые координаты и третие

проверяем что бы х1 не равнялся x3 (тоесть проверяем что бы х первого числа не ровнялся х терьего числа ) - если не ровняется тогда х ровняется первому введеному чеслу х - а у третьему введенному числу Y - далее если все же Х третьего числа равняется Х первого числа тогда Х ровняется второго введенного числа Х а У третьего !

вот и вся логика
Великий ЗомбиниУченик (94) 9 лет назад
Что-то не сходится.

Если нам вводят координаты

1; 1
1; 3
3; 3

то, следуя вашей логике, мы получаем координаты 1; 3. Правильно я считаю? Но неизвестная вершина находится в координатах 3; 1
Старк Просветленный (29505) ок - тогда так x1 = 1;y1=1; x2 = 1;y2=3; x3 = 3;y3=3;
Сергей Марков Мудрец (10416) 9 лет назад
Добрый день.
Немного теории.

Исходя из свойств прямоугольника в общем виде координаты вершин (обозначим их А, B, C, D) можно представить в таком виде:

A(x, y); B(x+a,y)

C(x. y+b); D(x+a, y+b)

Можно видеть, что множество значений x имеет значения {x, x+a, x, x+a}, и множество значений y имеет значения {y, y, y+b, y+b}

Теперь представим, что мы получаем в произвольном порядке значения координат трех вершин, и если они принадлежат прямоугольнику, то они будут принадлежать указанным выше множествам и подчиняться их свойствам. Другими словами, из трех значений x - два значения обязательно будут равны, то же самое со значениями y.

Теперь дело техники.

Немного практики.

На Паскале это можно реализовать, например так:

Исходные значения координат я задал в программе, Вы же можете использовать команду ввода с клавиатуры, но тогда необходимо задать проверку координат на принадлежность их прямоугольнику.

Успехов.
Великий ЗомбиниУченик (94) 9 лет назад
"из трех значений x - два значения обязательно будут равны, то же самое со значениями y."
Вот здесь вы наверно ошибаетесь. Если прямоугольник будет наклонен? Что-то типа этого)
Сергей Марков Мудрец (10416) Да, Вы правы Зомбини, пошел по пути наименьшего сопротивления - представил самый простой вариант. Ок, я подумаю еще.
Похожие вопросы