Re[12]: Площадь многоугольника
От: Ranger_XL  
Дата: 21.06.05 12:12
Оценка:
Народ, нашел в справочнике формулу для площади многоугольника:
S = r * p,
где r — радиус описанной окружности, а p — полупериметр

Осталось найти этот радиус
Re[13]: Площадь многоугольника
От: raskin Россия  
Дата: 21.06.05 16:42
Оценка:
Ranger_XL wrote:
> Народ, нашел в справочнике формулу для площади многоугольника:
> S = r * p,
> где r — радиус описанной окружности, а p — полупериметр
Не бывает. Это радиус вписанной, что доказывается триангуляцией.
Posted via RSDN NNTP Server 1.9
Re[14]: Площадь многоугольника
От: Witeboragon СССР http://unmanagedvisio.com/
Дата: 21.06.05 17:41
Оценка:
Здравствуйте, raskin, Вы писали:

R>Ranger_XL wrote:

>> Народ, нашел в справочнике формулу для площади многоугольника:
>> S = r * p,
>> где r — радиус описанной окружности, а p — полупериметр
R>Не бывает. Это радиус вписанной, что доказывается триангуляцией.

неправда ваша, описанной.
Доказывается действительно триангуляцией (надо разбить на треугольники с вершиной в центре описанной окружности).

Что касается радиуса этой самой окружности то тут кажется, все грустно...
есть вот такие соображения:
синусы углов, соответсвующих сторонам многоугольника, можно получить через R:

sin(alpha[i]) = (a[i]/2) / R => alpha(i) = arcsin(a[i]/2R)

(получается так же легго, надо разбить на треугольники с вершиной в центре)
потом можно их все сложить, получим 2*PI.

Итого: для нахождения радиуса получаем уравнение (ха-ха, все так красиво начиналось)

arcsin(a[1]/2R) + arcsin(a[2]/2R) + ... arcsin(a[N]/2R) = 2 PI.

решаем , получаем радиус, дальше умножаем на полупериметр => получаем площадь
такие дела...
Re[15]: Площадь многоугольника
От: Witeboragon СССР http://unmanagedvisio.com/
Дата: 21.06.05 17:48
Оценка:
Добавка:

W>arcsin(a[1]/2R) + arcsin(a[2]/2R) + ... arcsin(a[N]/2R) = 2 PI.


может от обих частей взять синус, дальше раскрыть по формуле суммы синусов, чтожет что путевое получится?
Re[15]: Площадь многоугольника
От: raskin Россия  
Дата: 22.06.05 04:45
Оценка:
Witeboragon wrote:
> Здравствуйте, raskin, Вы писали:
>
> R>Ranger_XL wrote:
>> > Народ, нашел в справочнике формулу для площади многоугольника:
>> > S = r * p,
>> > где r — радиус описанной окружности, а p — полупериметр
> R>Не бывает. Это радиус вписанной, что доказывается триангуляцией.
>
> неправда ваша, описанной.
> Доказывается действительно триангуляцией (надо разбить на треугольники с
> вершиной в центре описанной окружности).

Может, в милой книге опечатка? Для квадрата: сторона — 1. Радиус
вписанной — 1/2. Радиус описанной — 1/sqrt(2). Площадь — 1. Полупериметр
— 2.

Это верно?
Но если да, то в формуле радиус вписанной окружности. Если нет, то у
меня совсем уже глюки.
Posted via RSDN NNTP Server 1.9
Re[16]: Площадь многоугольника
От: Witeboragon СССР http://unmanagedvisio.com/
Дата: 22.06.05 05:34
Оценка:
Здравствуйте, raskin, Вы писали:

R>Может, в милой книге опечатка? Для квадрата: сторона — 1. Радиус

R>вписанной — 1/2. Радиус описанной — 1/sqrt(2). Площадь — 1. Полупериметр
R>- 2.

R>Это верно?

R>Но если да, то в формуле радиус вписанной окружности. Если нет, то у
R>меня совсем уже глюки.

это у меня глюки
но все равно, полщадь можно вычислить зная радиус:
здесь h[i] — высота соотв. хорде треугольника, alpha[i] — половина угол у центра.

h[i] = R * cos(alpha[i])

sin(alpha[i]) = a[i] / R

S[i] = 2 * (h * a[i]/2) = R * a[i] * sqrt[1 — (a[i]/R)^2]

S = Summ(S[i])
Re[11]: Площадь многоугольника
От: _DAle_ Беларусь  
Дата: 22.06.05 06:49
Оценка:
Здравствуйте, McSeem2, Вы писали:

W>>да, именно так. основное тут понять что все вершины многоугольника

W>>максимальной площади лежат на одной окружности, дальше дело техники

MS>Да, но как вычислить радиус этой окружности? Чувствую, что элементарно. Что-то такое вертится на уме, но сообразить не могу. Помогите люди-добры, а то ведь кошмары приснятся.


Если бы мне нужно было получить решение, не заботясь об особой производительности, я бы использовал двоичный поиск по радиусу.
При фиксированном радиусе считаем сумму углов, если она больша 360, то радиус увеличиваем, иначе уменьшаем.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[13]: Площадь многоугольника
От: Ranger_XL  
Дата: 23.06.05 08:32
Оценка:
R_X>Народ, нашел в справочнике формулу для площади многоугольника:
R_X> S = r * p,
R_X>где r — радиус описанной окружности, а p — полупериметр

Сорри за невнимательность, r — радиус вписанной окружности
Re[10]: Площадь многоугольника
От: Аноним  
Дата: 27.06.05 17:39
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Здравствуйте, Аноним, Вы писали:


А>>При таком способе у вас вместо длин в заданной пропорции оказываются углы. Это совсем не одно и то же.


MS>Ты прав. Длины отрезков при расположении их вдоль 0X надо корректировать. Чувствую, что это просто, типа акрсинуса. Вопрос — как конкретно?


Боюсь, всё не очень-то и просто. Кроме банального определения радиуса описанной окружности,
типа, из уравнения arcsin(a[1]/2r)+arcsin(a[2]/2r)+...+arcsin(a[n]/2r)=ПИ, где a[1..n]
суть массив заданных длин сторон, а r — искомый радиус.

Аналитически эта хрень в общем случае стопудово не решается — в группу задач, связанных с
этим уравнением, попадает довольно большой класс полиномиальных уравнений, которые являются
неразрешимыми (в радикалах). Так что даже в идеальном решении — после "доказательства
вписанности" прямо в комментариях в исходнике, гыгы — так или иначе всё равно появится
какая-нибудь "численная хрень".
Re[11]: Площадь многоугольника
От: Teolog Россия  
Дата: 29.06.05 06:33
Оценка:
В большинстве случаев многоугольник можно разбить на кучу триугольников без напряжения.Потом посчитать площадь триугольника.
Re[12]: Площадь многоугольника
От: Warturtle  
Дата: 29.06.05 09:47
Оценка: :)
Здравствуйте, Teolog, Вы писали:

T>В большинстве случаев многоугольник можно разбить на кучу триугольников без напряжения.Потом посчитать площадь триугольника.


Глубокая мысль Ты бы хоть исходный пост прочитал, для начала, что-ли...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.