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

есть вопрос. как узнать координаты 4-й точки прямоугольника, если остальные 3 известны?

Фаза Ученик (123), закрыт 13 лет назад
Дополнен 13 лет назад
а нет какой нибудь формулы?
Лучший ответ
Мозг Просветленный (45414) 13 лет назад
Достаточно просто, если прямоугольник расположен на экране, а не под каким-нибудь углом в 47 градусов. Для этого, находим координаты по x и y у всех точек. Каждое значение должно повторяться дважды. Какие значения повторятся лишь один раз, те и есть у неизвестной точки.
Поясню на примере. Выше вам нарисовали прямоугольник ABDC
Допустим, неизвестна точка B (координаты) .
Возьмём для простоты такие значения для точек:
A (1, 3)
C (1, 7)
D (4, 7)
7 это координата игрек и она повторяется дважды: у точек C и D, которые находятся на одной вертикальной прямой.
точка 1 по икс есть у точек A и C, они расположены на одной прямой по оси икс.
Точка 3 по игрек есть только у A. Соответственно, раз она лишь однажды повторяется по оси игрек, то второй раз она повторится у точки B. Тогда координата по игрек у B равна 3.
Точка 4 по иксу есть лишь у точки D. Значит, второй раз она будет у B.
Соответственно, точка B имеет координаты B (4, 3)
Это справедливо лишь для прямоугольников, не имеющих сдвига относительно экрана.
Для сдвинутых на определённый угол, скажем на 53 градуса, нужно вычислить вначале, какая именно точка неизвестна (через сравнение координат) , а потом по относительному смещению (разница между координатами на параллельных сторонах) найти нужные координаты.
Приведу простой пример:
Имеет прямоугольник ABCD

Сверяем известные координаты по иксу, имеем значения -5, 1 и 7 и по игреку 8, 3 и 11 соответственно. Находим длины отрезков AB, BD, DA через сумму квадратов разницы их координат
AD ^ 2 (в квадрате) = (1 - (-5)) ^ 2 + (3 - 8) ^ 2 = (6 ^ 2 + (-5) ^ 2) = 36 + 25 = 61
Значит AB = корень квадратный из 61 или просто 61 ^ 0.5
Также находим длину AB ^ 2= (1 - 7) ^ 2 + (3 - 11) ^ 2 = 36 + 64 = 100
AB = 100 ^ 0.5 = 10
DB ^ 2 = (-5 -7) ^ 2 + (8 - 11) ^ 2 = (-12) ^ 2 + (-3) ^ 2 = 144 + 9 = 153
DB = 153 ^ 0.5
Так как мы знаем координаты трёх точек, то они в любом случае (в прямоугольнике) составляют прямоугольный треугольник. Нам важно выяснить, какая из сторон самая длинная (она будет гипотенузой, а значит, точка, не участвующая в границах отрезка гипотенузы, будет противоположна той, что неизвестна. В нашем случае мы получили отрезки длиной
153 ^ 0.5, 61 ^ 0.5 и 100 ^ 0.5.
При проверке на равенство оно не выполняется (ошибка) 100 + 61 != 153. Но это потому что я от балды нарисовал прямоугольник. В действительности, просто у прямоугольника, с точками A (1, 3) и D(-5, 8) точка B не может иметь координат (7, 11) . Хотя бы одна из координат будет немного отличаться.
Ну да ладно - это ведь просто наглядный пример, и мне некогда тут высчитывать точное равенство.
Тогда мы узнали, что самая длинная сторона, получающаяся из известных точек, это сторона DB. А значит, раз точка А не является концом этой стороны, то мы можем утверждать, что абсцисса (координата X) неизвестной точки C находится по неравенству Ax - Dx = Bx - Cx
Тогда Cx = Bx - Ax + Dx
Подставим известные абсциссы, получим
Cx = 7 - 1 + (-5) = 1
А ордината C (координата по Y) находится из неравенства:
Ay - Dy = By - Cy
Cy = By - Ay + Dy
Cy = 11 - 3 + 8 = 16
Итого, получили координаты точки C (1, 16), что является верным ответом.
Можно вычислить координаты C немного по-другому:
Ax - Bx = Dx - Cx
Cx = Dx - Ax + Bx
Cx = -5 - 1 + 7 = 1
Ay - By = Dy - Cy
Cy = Dy - Ay + By
Cy = 8 - 3 + 11 = 16
То есть, для получения неизвестной точки мы складываем координаты точек гипотенузы треугольника, составленного из известных точек, и вычитаем точку, объединяющую катеты.
Ничего сложного, элементарная геометрия за 7 класс. Прочитайте ещё раз внимательно.
Источник: Тут всё очень просто.
Остальные ответы
Габриэль Элински Гуру (3057) 13 лет назад
нужно провести паралельные прямые по известным точкам, если логично подумать=) но если там какой-нибудь заумноый ответ нужен, то не знаю=)
Sergey Aganin Знаток (305) 13 лет назад
Арифметика, нарисуй поймешь!
HellKnight Знаток (499) 13 лет назад
Если это именно ПРЯМОугольник, а не четырехугольник, то просто
A_B
| ...|
| ...|
C_D

Предположим, неизвестна точка D:

D(x) = B(x)
D(y)=B(y)
Chaz Ashley Мыслитель (8421) 13 лет назад
если 3 известны
А Д
1
1
1
Б----------------С
то эт расстояние от С до Д будет равно расстоянию от а до б, а от А до Д = как от Б до С. Элементарно, Фаза.
Похожие вопросы