Revision dcce7b29
Added by Leszek Koltunski over 3 years ago
src/main/java/org/distorted/objectlib/main/TwistyObject.java | ||
---|---|---|
524 | 524 |
{ |
525 | 525 |
final float MAXERR = 0.05f; |
526 | 526 |
int numAxis = dist.length; |
527 |
float NUM = mNumLayers[0]; |
|
528 | 527 |
|
529 | 528 |
for(int i=0; i<numAxis; i++) |
530 | 529 |
{ |
531 | 530 |
Static3D ax = faceAxis[i]; |
532 | 531 |
float len = ax.get0()*x + ax.get1()*y + ax.get2()*z; |
533 |
if( len>NUM*dist[i]+MAXERR ) return true;
|
|
532 |
if( len>mSize*dist[i]+MAXERR ) return true;
|
|
534 | 533 |
} |
535 | 534 |
|
536 | 535 |
return false; |
src/main/java/org/distorted/objectlib/objects/TwistyContainer.java | ||
---|---|---|
70 | 70 |
{ 3, 3, 3, 3, 3, 3}, |
71 | 71 |
{ 2, 2, 2, 2, 2, 2}, |
72 | 72 |
|
73 |
{ 1, 4, 4, 1, 1, 4}, |
|
74 |
{ 4, 0, 0, 4, 4, 0}, |
|
75 | 73 |
{ 0, 5, 5, 0, 0, 5}, |
76 | 74 |
{ 5, 1, 1, 5, 5, 1}, |
75 |
{ 1, 4, 4, 1, 1, 4}, |
|
76 |
{ 4, 0, 0, 4, 4, 0}, |
|
77 | 77 |
|
78 | 78 |
{ 4, 4, 4, 4, 4, 4}, |
79 | 79 |
{ 4, 4, 4, 4, 4, 4}, |
... | ... | |
171 | 171 |
{ 0.0f, -SQ2, 0.0f}, |
172 | 172 |
{ 0.0f, +SQ2, 0.0f}, |
173 | 173 |
|
174 |
{-1.0f, 0.0f, 1.0f}, |
|
175 |
{ 1.0f, 0.0f, 1.0f}, |
|
176 | 174 |
{ 1.0f, 0.0f,-1.0f}, |
177 | 175 |
{-1.0f, 0.0f,-1.0f}, |
176 |
{-1.0f, 0.0f, 1.0f}, |
|
177 |
{ 1.0f, 0.0f, 1.0f}, |
|
178 | 178 |
|
179 | 179 |
{ 0.0f,-SQ2/2, 1.0f}, |
180 | 180 |
{ 0.0f,+SQ2/2, 1.0f}, |
... | ... | |
196 | 196 |
case 0: return mObjectQuats[ 0]; |
197 | 197 |
case 1: return mObjectQuats[10]; |
198 | 198 |
|
199 |
case 2: return mObjectQuats[11];
|
|
200 |
case 3: return new Static4D( 0.0f, SQ2/2, 0.0f, SQ2/2);
|
|
201 |
case 4: return mObjectQuats[ 0];
|
|
202 |
case 5: return new Static4D( 0.0f, SQ2/2, 0.0f,-SQ2/2);
|
|
199 |
case 2: return mObjectQuats[ 0];
|
|
200 |
case 3: return new Static4D( 0.0f, SQ2/2, 0.0f,-SQ2/2);
|
|
201 |
case 4: return mObjectQuats[11];
|
|
202 |
case 5: return new Static4D( 0.0f, SQ2/2, 0.0f, SQ2/2);
|
|
203 | 203 |
|
204 | 204 |
case 6: return mObjectQuats[ 0]; |
205 | 205 |
case 7: return new Static4D( 0.0f, 0.0f, 1.0f, 0.0f); |
src/main/java/org/distorted/objectlib/objects/TwistySkewb.java | ||
---|---|---|
199 | 199 |
|
200 | 200 |
final float[][] centerTable = |
201 | 201 |
{ |
202 |
{+DIST_CENTER,X,Y},
|
|
203 |
{-DIST_CENTER,X,Y},
|
|
202 |
{X,Y,+DIST_CENTER},
|
|
203 |
{X,Y,-DIST_CENTER},
|
|
204 | 204 |
{X,+DIST_CENTER,Y}, |
205 | 205 |
{X,-DIST_CENTER,Y}, |
206 |
{X,Y,+DIST_CENTER},
|
|
207 |
{X,Y,-DIST_CENTER}
|
|
206 |
{+DIST_CENTER,X,Y},
|
|
207 |
{-DIST_CENTER,X,Y},
|
|
208 | 208 |
}; |
209 | 209 |
|
210 | 210 |
float x,y, cen0, cen1, cen2; |
... | ... | |
323 | 323 |
|
324 | 324 |
switch(center) |
325 | 325 |
{ |
326 |
case 0: return new Static4D(0,-SQ2/2,0,SQ2/2); // -90 along Y
|
|
327 |
case 1: return new Static4D(0, SQ2/2,0,SQ2/2); // 90 along Y
|
|
328 |
case 2: return new Static4D( SQ2/2,0,0,SQ2/2); // 90 along X
|
|
329 |
case 3: return new Static4D(-SQ2/2,0,0,SQ2/2); // -90 along X
|
|
330 |
case 4: return mObjectQuats[0]; // unit quaternion
|
|
331 |
case 5: return mObjectQuats[9]; // 180 along X
|
|
326 |
case 0: return mObjectQuats[0];
|
|
327 |
case 1: return mObjectQuats[9];
|
|
328 |
case 2: return mObjectQuats[1];
|
|
329 |
case 3: return mObjectQuats[4];
|
|
330 |
case 4: return mObjectQuats[2];
|
|
331 |
case 5: return mObjectQuats[3];
|
|
332 | 332 |
} |
333 | 333 |
} |
334 | 334 |
else |
Also available in: Unified diff
Progress with cubit quaternions.