Javascript: выводим центр масс точек на канве
В принципе, тут всё как в диаграмме Вороного, только выводятся текущие (округлённые до целых) координаты пикселей под курсором, клики накапливаются в массиве и текстовом поле ввода, а красная точка всегда означает "центр масс" текущего множества точек на плоскости (при условии, что веса всех точек одинаковы и равны единице :)
Документ опубликован как файл .html
в кодировке Юникода UTF-8, исходник легко увидеть и поменять, открыв исходник страницы в браузере. Сляпан на скорую руку для иллюстрации конкретного вопроса, но зачем же стирать...
Если новая точка ближе к любой из существующих, чем пиксельное расстояние tooFit
, она не добавляется в массив и выводится соответствующее сообщение. Сами точки чёрные, центр масс красный.
Центр тяжести точек на канве, открыть в текущем окне/вкладке (3 Кб)
1. Стоит напомнить, что для более стандартизованной работы с геоданными и координатами есть библиотека turf.js
2. Если у точек разные массы, центр масс считается в простейшем случае вот так:
totalmass = totalx = totaly = 0 for each point n { totalmass += n.mass totalx += n.x*n.mass totaly += n.y*n.mass } center = (totalx/totalmass,totaly/totalmass)
14.04.2019, 14:10 [1810 просмотров]