My data consist of 3d Cartesian coordinates. As shown in the figure below, there are roughly linear "clusters" of points within these data. How should I approach grouping these data in an automated way?
My intuition is that if you rotated each cluster to its principal axis, almost all the variance would be in 1 dimension. While that gives me a post-hoc metric with which to judge the clusters, I am unsure how to incorporate this into the clustering method itself.