|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Dmitrij Trunikov 2:5020/400 06 Dec 2001 17:39:49 To : Konstantin Belozoub Subject : Re: простая задача --------------------------------------------------------------------------------
> SG>> Простая задача даны координаты четырех углов прямоугольника -
> SG>> найти его площадь.
> MS> Во-первых, для нахождения не надо 4 вершины, достаточно трёх.
>
> Осмелюсь предположить, что достаточно координат 2 противоположных вершин.
> И, если не ошибаюсь, тогда S=|x1-x2|*|y1-y2|.
Хмм...
А если стороны прямоугольника не параллельны осям координат?
Тогда все немного усложнится :(
Обозначим вершины прямоугольника A,B,C,D начиная с нижнего левого угла по
часовой стрелке. И пусть они имеют такие координаты:
A(x1,y1)
B(x2,y2)
C(x3,y3)
D(x4,y4)
Тогда по теореме Пифагора сторона AB = sqrt( ( x1 - x2 ) ^ 2 + ( y2 - y1 ) ^
2 ).
Аналогично BC = sqrt( ( x4 - x2 ) ^ 2 + ( y4 - y2 ) ^ 2 ).
Отсюда площадь S = AB * BC = sqrt( ( x1 - x2 ) ^ 2 + ( y2 - y1 ) ^ 2 ) *
sqrt( ( x4 - x2 ) ^ 2 + ( y4 - y2 ) ^ 2 ), где
sqrt - корень квадратный
^ - возведение в степень
--
Отправлено через сервер Talk.Ru - http://www.talk.ru
--- ifmail v.2.15dev5
* Origin: Quasarlabs (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/153181f560e.html, оценка из 5, голосов 10
|