Greetings, I am a biochemist/bioinformatician. I have a bunch of clusters, of which I have already calculated all their respective (euclidean) inter distances, from centroid to centroid. I need to plot a graph with these clusters for visual inspection and publication. My problem is how to calculate the coordinates of each clusters' centroid in a classic cartesian system, in order to properly display a "map" of cluster distances. Each cluster's centroid should show as a single point on the graph - I will worry about representing each cluster's irregular shape later... I am sure this is a trivial problem, but didn't have the chance to work with this before. So, by putting the problem down onto paper, I figured that one way to solve this (algorithmically) is by positioning the centroid of one cluster at the origin (0,0) and position all other centroids onto the x axis, each at its respective known distance from the first centroid at (0,0). Then, all the centroids should make a circular move of angle phi around the origin, in order to adopt the position that satisfies all their known inter-distances. In the end, we should obtain a cicle with radius equal to the most distant centroid from the one placed at the origin, and all the other centroids scattered within. It appears to me that a huge set of equations of the form (law of cosines): a^2 = b^2 + c^2 - 2bc*cosA would need to be solved, in order to obtain all the correct angles that a specific centroid would need to "rotate" to assume its appropriate position. In the above formula, "a" is the distance between centroids B and C, while b and c are the distances from the origin for B and C, respectively. This looks to me like a job that includes some Matrix calculations, but couldn't find exactly what I am looking for, so far. I would be grateful if you could point me at some direction so to continue my reading with regards to this problem. Thank you very much in advance PS. A way to achieve this with the use of some spreadsheet formula (eg excel) is desirable, although I would also like to understand the concept to the solution, in case I had to implement some kind of code.