Додекаэдр из символов для мини-игры "Игра с Нулём»".
Бросаешь 12-гранный кубик: на 11 гранях - ресурсы, а на одной - полное обнуление прогресса в основной игре. Рискнули бы?
Координаты вершин додекаэдра со списком ребер и граней сходу не нашел. Вычислял сам. Если будет полезно, то вот массивы и вычисления для додекаэдра, вписанного в сферу единичного радиуса.
// Verteсes Vector3[] verts = new Vector3[] { new Vector3(0.577350f, 0.577350f, 0.577350f), // v1 new Vector3(0.577350f, 0.577350f, -0.577350f), // v2 new Vector3(0.577350f, -0.577350f, 0.577350f), // v3 new Vector3(0.577350f, -0.577350f, -0.577350f), // v4 new Vector3(-0.577350f, 0.577350f, 0.577350f), // v5 new Vector3(-0.577350f, 0.577350f, -0.577350f), // v6 new Vector3(-0.577350f, -0.577350f, 0.577350f), // v7 new Vector3(-0.577350f, -0.577350f, -0.577350f),// v8 new Vector3(0, 0.934172f, 0.356822f), // v9 new Vector3(0, 0.934172f, -0.356822f), // v10 new Vector3(0, -0.934172f, 0.356822f), // v11 new Vector3(0, -0.934172f, -0.356822f), // v12 new Vector3(0.356822f, 0, 0.934172f), // v13 new Vector3(0.356822f, 0, -0.934172f), // v14 new Vector3(-0.356822f, 0, 0.934172f), // v15 new Vector3(-0.356822f, 0, -0.934172f), // v16 new Vector3(0.934172f, 0.356822f, 0), // v17 new Vector3(0.934172f, -0.356822f, 0), // v18 new Vector3(-0.934172f, 0.356822f, 0), // v19 new Vector3(-0.934172f, -0.356822f, 0) // v20 }; // Calc edges const float edgeLength = 0.7136f; const float epsilon = 0.0001f; var edges = new List<(int a, int b)>(); Vector3 v1, v2; float dx, dy, dz, dist; // Check all pairs of vertices for (int i = 0; i < verts.Length; i++) for (int j = i + 1; j < verts.Length; j++) { v1 = verts[i]; v2 = verts[j]; dx = v2.x - v1.x; dy = v2.y - v1.y; dz = v2.z - v1.z; dist = Mathf.Sqrt(dx * dx + dy * dy + dz * dz); if (Mathf.Abs(dist - edgeLength) < epsilon) edges.Add((i, j)); } // Faces int[,] facesIDS = new int[12, 5] { { 0, 16, 1, 9, 8 }, { 12, 0, 16, 17, 2 }, { 8, 0, 12, 14, 4 }, { 1, 16, 17, 3, 13 }, { 9, 1, 13, 15, 5 }, { 10, 11, 3, 17, 2 }, { 2, 12, 14, 6, 10 }, { 3, 11, 7, 15, 13 }, { 6, 14, 4, 18, 19 }, { 4, 8, 9, 5, 18 }, { 5, 15, 7, 19, 18 }, { 6, 19, 7, 11, 10 }};
Сделал и возвращаюсь к допилу версии для плейтеста. Чуть-чуть осталось. Заходите добавить в желаемое и записаться на плейтест.
