У меня есть набор точек данных, содержащихся в List<Point4D> allPoints
, где каждый Point4D point
представлен узлом, содержащим свое положение x, y, z в пространстве (point.X
, point.Y
, point.Z
) и егозначение величины (point.W
). Точки данных представляют отдельные точки нагрузки на объект, и, следовательно, существуют различные группы точек данных на объекте, в которых точки данных находятся в непосредственной близости и имеют сходные величины.
Я хочу иметь возможность определить, где находятся эти кластеры и какие точки данных они включают. Пользователь должен иметь возможность видеть кластеры и (в конечном итоге) сможет фильтровать их по размеру / количеству точек / величине величины напряжения и т. Д. (Сейчас это не моя главная задача).
Сейчас я просто хотел бы создать своего рода «пузырь» вокруг точек данных, включенных в каждый кластер, чтобы я мог отображать каждый кластер отдельно.
Я пытался реализовать K-means
, но застрял, потому что мне нужно было знать, сколько кластеров было заранее (по крайней мере, это было требованием во всех реализациях, которые я нашел). Для моих целей я не буду знать, сколько кластеров или где они находятся заранее;эта информация варьируется в зависимости от текущего набора данных, который анализируется (данные импортируются из CSV-файла, загруженного пользователем).
Любые идеи будут с благодарностью!