Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Получить координаты центра тяжести системы


Автор: witex 23.12.2006, 23:35
Прошу помощи. Есть такая задачка.
Цитата

Система из 25 матерьялыных толек в пространстве задана с помощью последовательности действительных чисел x1,y1,z1,p1,x2,y2,z2,p2....x25,y25,z25,p25, где Xi,Yi,Zi координаты точки i в пространстве, а pi - её вес.(1<=i<=25). Получить координаты центра тяжести системы, а так же расстояние центра тяжести до сех точек системы.

У меня стоит вопрос так. 
Прошу объяснить как найти координаты центра тяжести. Остальное не интересует. 
За ранее благоарен.

P.S. Если у кого есть исходники на С/С++ то можете дать? Хотя мне достаточно алгоритма.

Автор: skyboy 24.12.2006, 01:32
брать точки попарно и приводить их к одной, исходя из равенства момента сил:
sqrt((x1 - x0)^2 + (y1 - y0)^2 ) * m1 = sqrt((x2 - x0)^2 + (y2 - y0)^2 ) * m2
Получаем новую точку с координатами (x0, y0) и массой m1 + m2. Так делать, пока не обработаем все точки.

Добавлено @ 01:34 
возможно, вышесказанное - полный бред воспаленного мозга. для двух точек - справедливо. для трех - вроде, тоже.... а дальше проверить не могу, учебника давно уже рядом не лежит...

Автор: maxim1000 24.12.2006, 02:44
вполне достаточно просто взять взвешенное среднее:
x=(p1*x1+p2*x2+...)/(p1+p2+...)
ну и y так же

Автор: witex 24.12.2006, 14:10
Спасибо всем, но всё таки у maxim1000  правельней алгоритм! Но всё равно спасибо! Обоим. Тема закрыта!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)