Revision 48154f68
Added by Leszek Koltunski over 4 years ago
| src/main/java/org/distorted/objects/MovementJing.java | ||
|---|---|---|
| 21 | 21 |
|
| 22 | 22 |
import org.distorted.library.type.Static3D; |
| 23 | 23 |
|
| 24 |
import static org.distorted.objects.TwistyJing.F; |
|
| 25 |
|
|
| 24 | 26 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 25 | 27 |
|
| 26 | 28 |
class MovementJing extends Movement |
| 27 | 29 |
{
|
| 28 |
private static final float M = (1.0f/4); |
|
| 29 |
static final float DIST3D = (SQ6/12)*M; |
|
| 30 |
static final float DIST2D = (SQ3/ 6)*M; |
|
| 30 |
static final float DIST3D = SQ6/24; |
|
| 31 |
static final float DIST2D = SQ3/12; |
|
| 31 | 32 |
|
| 32 | 33 |
static final Static3D[] FACE_AXIS = new Static3D[] |
| 33 | 34 |
{
|
| ... | ... | |
| 48 | 49 |
|
| 49 | 50 |
int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset) |
| 50 | 51 |
{
|
| 51 |
return (int)(numLayers*offset/(SQ6/3));
|
|
| 52 |
return offset < (SQ3/4)*F ? 0:1;
|
|
| 52 | 53 |
} |
| 53 | 54 |
|
| 54 | 55 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 55 | 56 |
|
| 56 | 57 |
public float returnRotationFactor(int numLayers, int row) |
| 57 | 58 |
{
|
| 58 |
return ((float)numLayers)/(numLayers-row);
|
|
| 59 |
return 1.0f;
|
|
| 59 | 60 |
} |
| 60 | 61 |
|
| 61 | 62 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| ... | ... | |
| 64 | 65 |
{
|
| 65 | 66 |
float y = (face > 1 ? p[1] : -p[1]); |
| 66 | 67 |
float x = p[0]; |
| 67 |
|
|
| 68 |
return (y >= -DIST2D) && (y <= DIST2D*(2-6*x)) && (y <= DIST2D*(2+6*x)); |
|
| 68 |
return (y >= -DIST2D) && (y <= 2*DIST2D-SQ3*x) && (y <= 2*DIST2D+SQ3*x); |
|
| 69 | 69 |
} |
| 70 | 70 |
|
| 71 | 71 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| src/main/java/org/distorted/objects/MovementPyraminx.java | ||
|---|---|---|
| 63 | 63 |
{
|
| 64 | 64 |
float y = (face > 1 ? p[1] : -p[1]); |
| 65 | 65 |
float x = p[0]; |
| 66 |
|
|
| 67 |
return (y >= -DIST2D) && (y <= DIST2D*(2-6*x)) && (y <= DIST2D*(2+6*x)); |
|
| 66 |
return (y >= -DIST2D) && (y <= 2*DIST2D-SQ3*x) && (y <= 2*DIST2D+SQ3*x); |
|
| 68 | 67 |
} |
| 69 | 68 |
|
| 70 | 69 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| src/main/java/org/distorted/objects/TwistyJing.java | ||
|---|---|---|
| 242 | 242 |
|
| 243 | 243 |
float[][] getCuts(int size) |
| 244 | 244 |
{
|
| 245 |
float[] cut = {F-0.5f};
|
|
| 245 |
float[] cut = { (F-0.25f)*(SQ6/3) };
|
|
| 246 | 246 |
return new float[][] { cut,cut,cut,cut };
|
| 247 | 247 |
} |
| 248 | 248 |
|
Also available in: Unified diff
New 'JingPyraminx' object - improvements. The object should be working now.