Hi,
I hope this is the right forum. High school/College maths was a long time ago.
I have a set of data for which I know the distance between each datum. I want to be able to plot this data in minimal dimensions.
For example:
Three points each with a distance of 1 from each other can be plotted on a 2D plane as an equilateral triangle. If an extra point was added with a distance of 1 from each it could be plotted as a triangular based pyramid in 3 dimensions.
There could be multiple rotations and translations possible however I only need to generate one.
I'm not even sure this is possible and have no idea where to even start. Pointing me in the right direction would be much appreciated.
Thanks in advance.
-Matthew
Thanks for the reply. I was looking for a method of deriving the coordinates. Using Pythagoras is very well when we already know that the point is going to be half way between the two existing points, but that won't always be the case.
So the method might look something like this:
1. Place the first point on the origin.
2. Using only the distances to point(s) already plotted detect if the new point can be represented by the existing dimensions.
3. If so place the point in this position.
4. If not add a dimension, give each existing point a 0 for this dimension and calculate the points new position.
5. If no possible position is found repeat step 4 until one is.
6. Repeat steps 2-5 for all data.
It should be noted that you will always get at least two different possible values if step 4 is used however this should always just be a translation of the other value.
I had not really abstracted it to this point when I first asked the question and this may still not be the best solution. I can work out the answers myself for 3 dimensions, however I start to have problems when there are more dimensions.
So the question is how do you do steps 2 and 4?
I should also give some example data as I sense that is not clear either. So I have provided example data for the two examples given in the previous post. Each datum specifies how far it is from another point.
First example:
a: (0, 1, 1)
b: (1, 0, 1)
c: (1, 1, 0)
So looking at a, we see it is 0 away from a, 1 away from b and 1 away from c.
Second example:
a: (0, 1, 1, 1)
b: (1, 0, 1, 1)
c: (1, 1, 0, 1)
d: (1, 1, 1, 0)
I hope this makes more sense.
Cheers.
-Matthew
Hello, Matthew!
I agree with earboth . . . Coordinates.
I have an equilateral triangle of side 2 in the xy-plane
. . and placed its centroid at the Origin.
Then the vertices are: .
The fourth vertex of the regular tetrahedron is: .
. . You're right . . . it's ugly!
If you prefer integer coordinates:
. . .
Once again thank you, but really the examples I gave were just very simple examples to assist in understanding the problem. It is clear that three points at equal distance from each other will form an equilateral triangle and basic trigonometry can be used based on knowing it is an equilateral triangle. It will not always be an equilateral triangle however and the techniques as described will not always be applicable. A more complicated example might be:
a:
b:
c:
d:
e:
Where the numbers in the brackets represent:
(distance to a, distance to b, distance to c...)
If you can find a set of coordinates that satisfy this show how you did it, it will answer my question and I'll be very grateful. You should need to use at least 4 dimensions, although I calculated it from 5. Sorry if my explanations have been unclear and thanks in advance.