Revision 720b26cd
Added by Leszek Koltunski about 1 year ago
src/main/java/org/distorted/objectlib/objects/TwistyCoinTetrahedron.java | ||
---|---|---|
72 | 72 |
{ |
73 | 73 |
if( mCuts==null ) |
74 | 74 |
{ |
75 |
float[] cut = new float[] {-0.95f*(SQ6/4),0};
|
|
75 |
float[] cut = new float[] {-0.95f*(SQ6/4),SQ6/6};
|
|
76 | 76 |
mCuts = new float[][] { cut,cut,cut,cut }; |
77 | 77 |
} |
78 | 78 |
|
... | ... | |
107 | 107 |
{ |
108 | 108 |
return new int[][][] |
109 | 109 |
{ |
110 |
{{0},{0},{0},{1},{3},{2}},
|
|
111 |
{{1},{1},{1},{0},{2},{3}},
|
|
110 |
{{0},{0},{0},{1},{2},{3}},
|
|
111 |
{{1},{1},{1},{0},{3},{2}},
|
|
112 | 112 |
{{2},{2},{2},{3},{1},{0}}, |
113 | 113 |
{{3},{3},{3},{2},{0},{1}} |
114 | 114 |
}; |
... | ... | |
253 | 253 |
{ |
254 | 254 |
float[][] ret = new float[5 + 3*(N+1) +3][]; |
255 | 255 |
|
256 |
ret[0] = new float[] { 0.00f, 0.0f , 0.00f }; |
|
257 |
ret[1] = new float[] { 0.00f, 0.0f ,-1.50f }; |
|
258 |
ret[2] = new float[] { 0.75f, 0.75f*SQ2,-0.75f }; |
|
259 |
ret[3] = new float[] {-0.75f, 0.75f*SQ2,-0.75f }; |
|
260 |
ret[4] = new float[] { 0.00f, 0.75f*SQ2,-1.50f }; |
|
256 |
float C = 0.85f; |
|
257 |
ret[0] = new float[] { 0.00f, 0.0f , 0.00f }; |
|
258 |
ret[1] = new float[] { 0.00f, 0.0f , -1.50f }; |
|
259 |
ret[2] = new float[] { 0.75f, 0.75f*SQ2, -0.75f }; |
|
260 |
ret[3] = new float[] {-0.75f, 0.75f*SQ2, -0.75f }; |
|
261 |
ret[4] = new float[] { 0.00f, C*0.75f*SQ2,C*-1.50f }; |
|
261 | 262 |
|
262 | 263 |
float[] vect1 = new float[4]; |
263 | 264 |
float[] vect2 = new float[4]; |
... | ... | |
599 | 600 |
@Override |
600 | 601 |
public void adjustStickerCoords() |
601 | 602 |
{ |
602 |
float B = 0.06422593f; |
|
603 |
float C = 0.43301257f; |
|
603 |
float L = 0.02f; |
|
604 |
float Z = 0.06422593f - L; |
|
605 |
float X = 0.5f - L; |
|
606 |
|
|
607 |
float K = 0.95f; |
|
608 |
float A = K*0.50f; |
|
609 |
float B = K*0.25f; |
|
610 |
float C = K*0.43301257f; |
|
611 |
|
|
604 | 612 |
float D = 0.3580885f; |
605 | 613 |
float E = 0.12022744f; |
606 | 614 |
float F = 0.32227963f - 0.015f; |
... | ... | |
609 | 617 |
mStickerCoords = new float[][] |
610 | 618 |
{ |
611 | 619 |
{ -D, E, 0.0f, -0.5f, D, E, F, G, -F, G }, |
612 |
{ -C, -0.25f, 0.0f, 0.5f, C, -0.25f },
|
|
613 |
{ -0.5f, B, 0.5f, B }
|
|
620 |
{ -C, -B, 0.0f, A, C, -B },
|
|
621 |
{ -X, Z, X, Z }
|
|
614 | 622 |
}; |
615 | 623 |
} |
616 | 624 |
|
... | ... | |
619 | 627 |
public float[][] getStickerAngles() |
620 | 628 |
{ |
621 | 629 |
float D1 = (float)(Math.PI/3); |
622 |
float D2 = (float)(Math.PI/8); // really 6, but with 8 it looks better
|
|
630 |
float D2 = (float)(Math.PI/6); // really 6, but with 8 it looks better
|
|
623 | 631 |
return new float[][] { { 0,0,0,-D1,0 },{-D2,-D2,-D2},{D1,D2} }; |
624 | 632 |
} |
625 | 633 |
|
Also available in: Unified diff
Coin Tetrahedron: progress