Project

General

Profile

« Previous | Next » 

Revision dcce7b29

Added by Leszek Koltunski over 3 years ago

Progress with cubit quaternions.

View differences:

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