3
$\begingroup$

Wikipedia says (link)that cartesian coordinates of icosahedron are:

(0, ±1, ± φ) (±1, ± φ, 0)  (± φ, 0, ±1) 

Where φ = (1 + √5) / 2 is golden ratio ≈ 1.618.

I found on the internet this code:

// vertex position and color information for icosahedron             vertices[0] = new VertexPositionColor(new Vector3(-0.26286500f, 0.0000000f, 0.42532500f), Color.Red);             vertices[1] = new VertexPositionColor(new Vector3(0.26286500f, 0.0000000f, 0.42532500f), Color.Orange);             vertices[2] = new VertexPositionColor(new Vector3(-0.26286500f, 0.0000000f, -0.42532500f), Color.Yellow);             vertices[3] = new VertexPositionColor(new Vector3(0.26286500f, 0.0000000f, -0.42532500f), Color.Green);             vertices[4] = new VertexPositionColor(new Vector3(0.0000000f, 0.42532500f, 0.26286500f), Color.Blue);             vertices[5] = new VertexPositionColor(new Vector3(0.0000000f, 0.42532500f, -0.26286500f), Color.Indigo);             vertices[6] = new VertexPositionColor(new Vector3(0.0000000f, -0.42532500f, 0.26286500f), Color.Purple);             vertices[7] = new VertexPositionColor(new Vector3(0.0000000f, -0.42532500f, -0.26286500f), Color.White);             vertices[8] = new VertexPositionColor(new Vector3(0.42532500f, 0.26286500f, 0.0000000f), Color.Cyan);             vertices[9] = new VertexPositionColor(new Vector3(-0.42532500f, 0.26286500f, 0.0000000f), Color.Black);             vertices[10] = new VertexPositionColor(new Vector3(0.42532500f, -0.26286500f, 0.0000000f), Color.DodgerBlue);             vertices[11] = new VertexPositionColor(new Vector3(-0.42532500f, -0.26286500f, 0.0000000f), Color.Crimson); 

Let's forget the code and focus only on coordinates of vertices.

When I look on coordinates from wiki and divide φ/1 its ≈ 1.618.
When I do same with coordinates from the code above 0.42/0.26 ≈ 1.615
So when I compare this two sets of coordinates I can say that 1 corresponds with 0.26 and 0.42 with φ.
If lets say that k = 1/0.26 = 50/13 ≈ 3.84, so if I multiply all coordinates from second set by k, I can write them as:

(±1, 0 ,±φ)  (0, ±φ, ±1) (±φ, ±1, 0)  

So for conclusion:
Wiki coordinates:

(0, ±1, ± φ) (±1, ± φ, 0)  (± φ, 0, ±1) 

Second set coordinates:

(±1, 0 ,±φ)  (0, ±φ, ±1) (±φ, ±1, 0) 

Why does this happens? Why does not corresponds the placement of φ and 0 and 1 in x,y,z position in coordinates?

  • 0
    Incidentally, to explain the "magic numbers" in the code, notice that $0^2+0.262865^2+0.425325^2=0.25,$ that is, for whatever reason, the person who wrote that code wanted to scale the icosahedron so that its vertices are at a distance of $\frac14$ from the origin.2018-02-28

1 Answers 1

3

There are a number of transformations you can perform to make the two sets of coordinates match. For instance, if you exchange the $x$ and $y$ axes, the first quadruple of points of the first set becomes the first quadruple of the second set, the second quadruple becomes the third quadruple and the third quadruple becomes the second. Since all the non-zero coordinates occur with both signs, you can do this either by just swapping the axes (by a reflection in a suitable plane) or by rotating them into each other (by a rotation through $\pi/2$ in either direction about the $z$ axis).