This project implements the DBSCAN (Density-Based Spatial Clustering of Applications with Noise) algorithm in Java.
It clusters 3D points based on density, labels noise points, assigns random colors to clusters, and outputs the results to a CSV file.
- Reads 3D points from a
.csvfile. - Implements DBSCAN with parameters:
epsβ maximum distance for neighborhood inclusion.minPtsβ minimum number of neighbors for a core point.
- Detects and labels clusters and noise points.
- Assigns random RGB colors to each cluster.
- Saves the clustered points with labels and colors to a new
.csv. - Displays cluster sizes (largest to smallest) and noise count.
π Classes Overview
DBScan.java β main program, clustering logic, CSV input/output.
NearestNeighbors.java β finds neighbors within eps distance.
Point3D.java β represents 3D points with coordinates, labels, and RGB values.
π€ Author
Othmane Daali