commit 48154f688ca929f17ea769d05f840cc169ba109b
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Jul 29 00:00:42 2021 +0200

    New 'JingPyraminx' object - improvements. The object should be working now.

diff --git a/src/main/java/org/distorted/objects/MovementJing.java b/src/main/java/org/distorted/objects/MovementJing.java
index ec2c409e..d1fbcce5 100644
--- a/src/main/java/org/distorted/objects/MovementJing.java
+++ b/src/main/java/org/distorted/objects/MovementJing.java
@@ -21,13 +21,14 @@ package org.distorted.objects;
 
 import org.distorted.library.type.Static3D;
 
+import static org.distorted.objects.TwistyJing.F;
+
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 class MovementJing extends Movement
 {
-  private static final float M = (1.0f/4);
-  static final float DIST3D = (SQ6/12)*M;
-  static final float DIST2D = (SQ3/ 6)*M;
+  static final float DIST3D = SQ6/24;
+  static final float DIST2D = SQ3/12;
 
   static final Static3D[] FACE_AXIS = new Static3D[]
          {
@@ -48,14 +49,14 @@ class MovementJing extends Movement
 
   int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
     {
-    return (int)(numLayers*offset/(SQ6/3));
+    return offset < (SQ3/4)*F ? 0:1;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 
   public float returnRotationFactor(int numLayers, int row)
     {
-    return ((float)numLayers)/(numLayers-row);
+    return 1.0f;
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -64,8 +65,7 @@ class MovementJing extends Movement
     {
     float y = (face > 1 ? p[1] : -p[1]);
     float x = p[0];
-
-    return (y >= -DIST2D) && (y <= DIST2D*(2-6*x)) && (y <= DIST2D*(2+6*x));
+    return (y >= -DIST2D) && (y <= 2*DIST2D-SQ3*x) && (y <= 2*DIST2D+SQ3*x);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/objects/MovementPyraminx.java b/src/main/java/org/distorted/objects/MovementPyraminx.java
index a39bad9e..0818ab62 100644
--- a/src/main/java/org/distorted/objects/MovementPyraminx.java
+++ b/src/main/java/org/distorted/objects/MovementPyraminx.java
@@ -63,8 +63,7 @@ class MovementPyraminx extends Movement
     {
     float y = (face > 1 ? p[1] : -p[1]);
     float x = p[0];
-
-    return (y >= -DIST2D) && (y <= DIST2D*(2-6*x)) && (y <= DIST2D*(2+6*x));
+    return (y >= -DIST2D) && (y <= 2*DIST2D-SQ3*x) && (y <= 2*DIST2D+SQ3*x);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/objects/TwistyJing.java b/src/main/java/org/distorted/objects/TwistyJing.java
index d31c56e6..33825d5a 100644
--- a/src/main/java/org/distorted/objects/TwistyJing.java
+++ b/src/main/java/org/distorted/objects/TwistyJing.java
@@ -242,7 +242,7 @@ public class TwistyJing extends TwistyObject
 
   float[][] getCuts(int size)
     {
-    float[] cut = {F-0.5f};
+    float[] cut = { (F-0.25f)*(SQ6/3) };
     return new float[][] { cut,cut,cut,cut };
     }
 
