This function generates curvy branching cluster data with three clusters of different shapes.
Arguments
- n
- The total number of data points to be generated. 
- clust_vec
- A vector specifying the number of points for each cluster. If not provided, the n is divided equally among the clusters. 
- num_noise
- The number of additional noise dimensions to be generated. 
- min_n
- The minimum value for the noise added to the data points. 
- max_n
- The maximum value for the noise added to the data points. 
