commit b1dea8dda2767cb4fb585e42dbb41cd5e34ea97c
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Dec 29 01:05:49 2020 +0100

    Progress with the Kilominx.

diff --git a/src/main/java/org/distorted/objects/FactoryCubit.java b/src/main/java/org/distorted/objects/FactoryCubit.java
index b09af3df..ffa124a3 100644
--- a/src/main/java/org/distorted/objects/FactoryCubit.java
+++ b/src/main/java/org/distorted/objects/FactoryCubit.java
@@ -50,6 +50,7 @@ class FactoryCubit
   static final float MINX_C3 = (float)(Math.sqrt(10-2*SQ5)/4);    // cos(54 deg)
   static final float MINX_C4 = (float)(Math.sqrt(0.5f-0.1f*SQ5)); // cos(half the dihedral angle)
   static final float MINX_C5 = (float)(Math.sqrt(0.5f+0.1f*SQ5)); // sin(half the dihedral angle)
+  static final float MINX_SC = 0.5f;
 
   private static final int IVY_N = 8;
 
@@ -692,9 +693,9 @@ class FactoryCubit
     float Y1= (float)(Math.sqrt(2+0.4f*SQ5)/4);
     float Y2= Y1 - (float)(Math.sqrt(10-2*SQ5)/8);
     float H = 0.5f*MINX_C1/MINX_C3;
-    float X2= H*MINX_C5;
-    float Y3= H/(2*MINX_C4);
-    float Y4= H*(1/(2*MINX_C4) - MINX_C4);
+    float X2= MINX_SC*H*MINX_C5;
+    float Y3= MINX_SC*H/(2*MINX_C4);
+    float Y4= MINX_SC*H*(1/(2*MINX_C4) - MINX_C4);
 
     float[] vertices0 = { -X1, Y2, 0, -Y1, X1, Y2, 0, Y1 };
     float[] bands0 = computeBands(0.03f,39,0.3f,0.2f,5);
@@ -1218,7 +1219,7 @@ class FactoryCubit
 
   VertexEffect[] createVertexEffectsMinxCorner()
     {
-    VertexEffect[] effect = new VertexEffect[9];
+    VertexEffect[] effect = new VertexEffect[10];
 
     float H = 0.5f*(MINX_C1/MINX_C3);
     float Y1= (float)(Math.sqrt(2+0.4f*SQ5)/4);
@@ -1246,23 +1247,25 @@ class FactoryCubit
     Static1D angle6 = new Static1D(90-A/2);
 
     effect[0] = new VertexEffectMove(move1);
-    effect[1] = new VertexEffectMove(move2);
-    effect[2] = new VertexEffectRotate(angle1, axisZ, center);
-    effect[3] = new VertexEffectRotate(angle2, axisZ, center);
-    effect[4] = new VertexEffectRotate(angle3, axisA, center);
-    effect[5] = new VertexEffectMove(move3);
-    effect[6] = new VertexEffectRotate(angle4, axisC, center);
-    effect[7] = new VertexEffectRotate(angle5, axisC, center);
-    effect[8] = new VertexEffectRotate(angle6, axisY, center);
+    effect[1] = new VertexEffectScale(1/MINX_SC);
+    effect[2] = new VertexEffectMove(move2);
+    effect[3] = new VertexEffectRotate(angle1, axisZ, center);
+    effect[4] = new VertexEffectRotate(angle2, axisZ, center);
+    effect[5] = new VertexEffectRotate(angle3, axisA, center);
+    effect[6] = new VertexEffectMove(move3);
+    effect[7] = new VertexEffectRotate(angle4, axisC, center);
+    effect[8] = new VertexEffectRotate(angle5, axisC, center);
+    effect[9] = new VertexEffectRotate(angle6, axisY, center);
 
     effect[0].setMeshAssociation( 7,-1);  // meshes 0,1,2
     effect[1].setMeshAssociation(56,-1);  // meshes 3,4,5
-    effect[2].setMeshAssociation( 7,-1);  // meshes 0,1,2
-    effect[3].setMeshAssociation(56,-1);  // meshes 3,4,5
+    effect[2].setMeshAssociation(56,-1);  // meshes 3,4,5
+    effect[3].setMeshAssociation( 7,-1);  // meshes 0,1,2
     effect[4].setMeshAssociation(56,-1);  // meshes 3,4,5
     effect[5].setMeshAssociation(56,-1);  // meshes 3,4,5
-    effect[6].setMeshAssociation(18,-1);  // meshes 1,4
-    effect[7].setMeshAssociation(36,-1);  // meshes 2,5
+    effect[6].setMeshAssociation(56,-1);  // meshes 3,4,5
+    effect[7].setMeshAssociation(18,-1);  // meshes 1,4
+    effect[8].setMeshAssociation(36,-1);  // meshes 2,5
 
     return effect;
     }
diff --git a/src/main/java/org/distorted/objects/TwistyMinx.java b/src/main/java/org/distorted/objects/TwistyMinx.java
index 91173cfd..953e3971 100644
--- a/src/main/java/org/distorted/objects/TwistyMinx.java
+++ b/src/main/java/org/distorted/objects/TwistyMinx.java
@@ -42,8 +42,8 @@ public class TwistyMinx extends TwistyObject
 {
   private static final int FACES_PER_CUBIT =6;
 
-  static final float C0 = (SQ5-1)/4;
-  static final float C1 = (SQ5+1)/4;
+  static final float C0 = (SQ5-1)/4;                       // cos(72 deg)
+  static final float C1 = (SQ5+1)/4;                       // cos(36 deg)
   static final float C2 = (SQ5+3)/4;
   static final float C3 = (float)(Math.sqrt(10-2*SQ5)/4);  // cos(54 deg)
 
@@ -271,21 +271,21 @@ public class TwistyMinx extends TwistyObject
       case  1: return 2;
       case  2: return 3;
       case  3: return 1;
-      case  4: return 43;
-      case  5: return 9;
-      case  6: return 42;
-      case  7: return 10;
-      case  8: return 36;
-      case  9: return 5;
-      case 10: return 39;
-      case 11: return 6;
-      case 12: return 59;
+      case  4: return 40;
+      case  5: return 31;
+      case  6: return 41;
+      case  7: return 30;
+      case  8: return 39;
+      case  9: return 35;
+      case 10: return 36;
+      case 11: return 34;
+      case 12: return 56;
       case 13: return 32;
-      case 14: return 47;
+      case 14: return 43;
       case 15: return 21;
-      case 16: return 58;
-      case 17: return 34;
-      case 18: return 46;
+      case 16: return 48;
+      case 17: return 28;
+      case 18: return 42;
       case 19: return 23;
       }
 
