Определение центра полигона

master_x

Pitavale XXI wieku
Определение центра полигона

Есть у меня координаты полигонов. Нарисовал я эти полигоны на карте при помощи GD. Вот теперь надо определить центр полигона, чтобы там же нарисовать небольшую подпись к участку карты. Вот и все. А как определить центр я не знаю. Порылся в сети, нашел только лекции по математике, этого и следовало ожидать... Эти лекции- пустота для меня. Поэтому прошу, кто знает, помогите определить центр полигона, если известны все его координаты.
 

SiMM

Новичок
Какого полигона? И что вы подразумеваете под центром полигона 0,0; 0,100; 30,100; 30,0; 20,0; 20,90; 10,90; 10,0; 0,0?
 

master_x

Pitavale XXI wieku
SiMM
полигон- многоугольник, центр- центр тяжести.
извините за размытость формулировки. уже нашел формулу (если кому понадобится):
центр_Х= сумма_точек_X / количество_точек_Х
центр_Y= сумма_точек_Y / количество_точек_Y
 

SiMM

Новичок
> центр тяжести - формулы имеются в учебниках по математике
А не по физике? :)

> уже нашел формулу
Плохо искал.
http://google.ru/search?q=центр+тяжести+многоугольника

-~{}~ 23.11.05 20:10:

> центр- центр тяжести
Кстати, не факт, что он будет подходить для того,
> чтобы там же нарисовать небольшую подпись к участку карты
 

master_x

Pitavale XXI wieku
SiMM
подходит, сам лично проверил, все работает как надо. тема закрыта. спасибо.
 

SiMM

Новичок
> подходит
В общем случае - нет ;) В том примере, что я тебе дал, центр тяжести находится вне территории полигона ;)

> все работает как надо
Ну и ладно. На то они и частные случаи ;)
 

master_x

Pitavale XXI wieku
SiMM
интересно получается, я рассчитываю для каждого участка центр по формуле, которую я дал выше и все сходится...
 

Silent

Новичок
Автор оригинала: master_x
полигон- многоугольник, центр- центр тяжести.
извините за размытость формулировки. уже нашел формулу (если кому понадобится):
центр_Х= сумма_точек_X / количество_точек_Х
центр_Y= сумма_точек_Y / количество_точек_Y
Это центр тяжести системы точек, а не многоугольника. Для плоской фигуры так просто не получится, там без интегралов не обойтись. Хотя, опять таки, в некоторых случаях это решение может давать хороший результат.
 
Сверху