Показать сообщение отдельно
Старый 02.12.2010, 06:34   #12
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: Центр многоугольгика

Спасибо всем, вот что получилось:
<script type="text/javascript">
            function 
FindCentroid(points){

                var 
count points.length;
                var 
Sx 0;
                var 
Sy 0;

                for (
i=0;i<count;i+=2){
                    
Sx+= parseInt(points[i]);
                    
Sy+= parseInt(points[i+1]);
                }



                
Sx Sx / (points.length 0.5);
                
Sy Sy / (points.length 0.5);

                
document.write'<br /> Centroid: <b>' Sx +' , 'Sy +'</b><br />');
                var 
result = new Array(parseInt(Sx), parseInt(Sy));
                return 
result;

            }

            var 
arr;

            
document.write('<fieldset> <legend>Poly</legend>');

            
arr = [0,00,510,510,1015,1015,150,15];
            
FindCentroid(arr);
            
document.write('</fieldset>');

            
document.write('<fieldset> <legend>Square</legend>');
            
arr = [0,00,55,55,0];
            
FindCentroid(arr);
            
document.write('</fieldset>');

            
document.write('<fieldset> <legend>Triangle</legend>');
            
arr = [0,1010,1010,20];
            
FindCentroid(arr);
            
document.write('</fieldset>');

        
</script> 
И результаты:
Poly
0,0; 0,5; 10,5; 10,10; 15,10; 15,15; 0,15;
Centroid: 7.14 , 8.57

Square
0,0; 0,5; 5,5; 5,0;
Centroid: 2.50 , 2.50

Triangle
0,10; 10,10; 10,20;
Centroid: 6.67 , 13.33
То, что надо :D
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Online)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
Harter (02.12.2010), Mr_F_ (02.12.2010)