![]() |
|
|
![]()
|
|
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
Добрый день.
как найти центр многоугольника -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Центр тяжести?
|
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
а что такое центр многоугольника?
а то ведь можно понапридумывать кучу центров: 1. центр тяжести 2. центр вписанной окружности 3. центр минимального круга, содержащего весь многоугольник +еще какие-нибудь, которые в голову мне не пришли... -------------------- qqq |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
maxim1000, не учел...
центр тяжести. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| cardinal |
|
||||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Я опять же на примере VB объясню. Вот такой вариант мне недавно попался:
Вот функция PolygonArea и одна еще для нее нужная
Думаю суть по этим примерам ясна становится. Но не думаю, что так делать очень хорошо. Вот то что я придумал не так давно: http://forum.vingrad.ru/index.php?showtopi...ndpost&p=269058 Соответственно все гораздо проще можно сделать, но пока второй вариант я не проверял - времени нет... Читай, думай... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||||
|
|||||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Функция плотности известна?
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
тело однородно
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Значит так, что-то не то...
Многоугольник какой? Я думал приблизить его какой-нить функцией (если он очень много-многоуголник). И по интегралу от функции плотности... -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
если я правильно понял ссылку cardinal' a то это просто сумма координад деленная на их количество. так?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Да, должно быть так Все координаты x поделив на их кол-во должно дать координату x центра тяжести, тоже самое с y... , но как я уже сказал еще не проверял -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
ну если подумать над общей процедурой определения центра тяжести, то она выглядит так: интеграл коррдинат по плотности (x*= (1/m) * I x dF(x) )
очень часто для нахождения центра тяжести можно пользоваться свойством аддитивности можно рассмотреть три случая (на самом деле их куча, но эти довольно характерны): 1. тяжесть сосредоточена в вершинах многоугольника в этом случае интеграл вырождается в обычную сумму так что просто берем среднее арифметическое всех вершин (как векторов) если массы разных вершин отличаются, то нужно брать средневзвешенное с коэффициентами, пропорциональными массе вершины 2. тяжесть равномерно распределена по границе многоугольника (как будто из проволоки) a. представим многоугольник в виде набора отрезков b. для каждого отрезка находим свой центр масс c. находим среднее взвешенное среди всех этих точек 3. тяжесть равномерно распределена по всему многоугольнику в этом случае можно разбить его на треугольники (как для них искать центр тяжести, известно) а потом опять же как в случае с отрезками считаем центр тяжести многоугольника через центры тяжести и массы его частей P.S. под средневзвешенным я подразумевал такое: (x1*m1+...+xn*mn)/(m1+...+mn) Добавлено @ 22:30 в общем идея одна: разбить тело на конечное количество частей, для которых просто посчитать центр тяжести, а потом собрать... -------------------- qqq |
|||
|
||||
| cardinal |
|
||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Я бы на скорую руку даже сказал, что разницы между этими случаями нет (если массы разных вершин в первом случае не отличаются)
1. тяжесть равномерно сосредоточена в вершинах многоугольника =
=
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||
|
|||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
представим себе равносторонний (да и вообще, любой) треугольник пока все хорошо, для треугольника, действительно, все три варианта одинаковы (именно поэтому в 3-м случае оказалось проще всего делить многоугольник на треугольники) теперь выбираем на одной из сторон точку, нарекаем ее вершиной, это также приводит к тому, что сторона треугольника делится на две как это повлияет на центр тяжести в разных случаях: 1. центр тяжести сместится в сторону новой точки (т.к. там появилась дополнительная масса) 2, 3. ничего не изменится, т.к. мера новой вершины с точки зрения что длины, что площади нулевая, а значит, ничего не меняет таким образом, 1 вариант отличается от двух других для того, чтобы продемонстрировать отличие 2 от 3 сделаем следующее: возьмем треугольник (неважно какой) заменим одну из его сторон чем-то вроде пилы (так, чтобы площадь не изменилась), таким образом, длина этого куска проволоки увеличилась (значит, центр тяжести сместился), а с точки зрения площади практически ничего не изменилось (если взять достаточно мелкие зубцы на "пиле") -------------------- qqq |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
maxim1000, да согласен - есть такое.
Тогда мы делаем различие между тем давит определенная сила только на точки описывающие фигуру или равномерно на всю площадь. Если сила действует только на точки описывающие фигуру, то пойдет вариант, который я описал выше, если на площадь то пойдет та функция написанная на VB или то, что я написал в той теме, на которую ссылку дал выше, а именно:
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Если он выпуклый и даны координаты его вершин- то центр это среднее арифм. всех Х и соотв. У
-------------------- Всем добра |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |