Project

General

Profile

« Previous | Next » 

Revision cb137f36

Added by Leszek Koltunski about 3 years ago

Objects: tidy up some repeated code.

View differences:

src/main/java/org/distorted/objects/TwistyDiamond.java
33 33
import org.distorted.library.type.Static3D;
34 34
import org.distorted.library.type.Static4D;
35 35
import org.distorted.main.R;
36
import org.distorted.main.RubikSurfaceView;
37 36

  
38 37
import java.util.Random;
39 38

  
......
584 583
      }
585 584
    }
586 585

  
587
///////////////////////////////////////////////////////////////////////////////////////////////////
588

  
589
  int mulQuat(int q1, int q2)
590
    {
591
    Static4D result = RubikSurfaceView.quatMultiply(QUATS[q1],QUATS[q2]);
592

  
593
    float rX = result.get0();
594
    float rY = result.get1();
595
    float rZ = result.get2();
596
    float rW = result.get3();
597

  
598
    final float MAX_ERROR = 0.1f;
599
    float dX,dY,dZ,dW;
600

  
601
    for(int i=0; i<QUATS.length; i++)
602
      {
603
      dX = QUATS[i].get0() - rX;
604
      dY = QUATS[i].get1() - rY;
605
      dZ = QUATS[i].get2() - rZ;
606
      dW = QUATS[i].get3() - rW;
607

  
608
      if( dX<MAX_ERROR && dX>-MAX_ERROR &&
609
          dY<MAX_ERROR && dY>-MAX_ERROR &&
610
          dZ<MAX_ERROR && dZ>-MAX_ERROR &&
611
          dW<MAX_ERROR && dW>-MAX_ERROR  ) return i;
612

  
613
      dX = QUATS[i].get0() + rX;
614
      dY = QUATS[i].get1() + rY;
615
      dZ = QUATS[i].get2() + rZ;
616
      dW = QUATS[i].get3() + rW;
617

  
618
      if( dX<MAX_ERROR && dX>-MAX_ERROR &&
619
          dY<MAX_ERROR && dY>-MAX_ERROR &&
620
          dZ<MAX_ERROR && dZ>-MAX_ERROR &&
621
          dW<MAX_ERROR && dW>-MAX_ERROR  ) return i;
622
      }
623

  
624
    return -1;
625
    }
626

  
627 586
///////////////////////////////////////////////////////////////////////////////////////////////////
628 587
// The Diamond is solved if and only if:
629 588
//

Also available in: Unified diff