Project

General

Profile

« Previous | Next » 

Revision 7aa4c349

Added by Leszek Koltunski almost 3 years ago

Progress with RubikControl.

View differences:

src/main/java/org/distorted/helpers/FactoryCubit.java
368 368
    return ft;
369 369
    }
370 370

  
371
///////////////////////////////////////////////////////////////////////////////////////////////////
372

  
373
  private double computeCos(double oldX, double oldY, double newX, double newY, double len1, double len2)
374
    {
375
    double ret= (oldX*newX+oldY*newY) / (len1*len2);
376
    if( ret<-1.0 ) return -1.0;
377
    if( ret> 1.0 ) return  1.0;
378

  
379
    return ret;
380
    }
381

  
382
///////////////////////////////////////////////////////////////////////////////////////////////////
383
// sin of (signed!) angle between vectors 'old' and 'new', counterclockwise!
384

  
385
  private double computeSin(double oldX, double oldY, double newX, double newY, double len1, double len2)
386
    {
387
    double ret= (newX*oldY-oldX*newY) / (len1*len2);
388
    if( ret<-1.0 ) return -1.0;
389
    if( ret> 1.0 ) return  1.0;
390

  
391
    return ret;
392
    }
393

  
394 371
///////////////////////////////////////////////////////////////////////////////////////////////////
395 372

  
396 373
  private void rotateAllVertices(double[] result, int len, double[] vertices, double sin, double cos)
......
550 527
      double newX = newVert[2*vertex  ];
551 528
      double newY = newVert[2*vertex+1];
552 529
      double lenIthNew = Math.sqrt(newX*newX + newY*newY);
553
      double cos = computeCos( oldVert[0], oldVert[1], newX, newY, lenIthNew, lenFirstOld);
554
      double sin = computeSin( oldVert[0], oldVert[1], newX, newY, lenIthNew, lenFirstOld);
530
      double cos = QuatHelper.computeCos( oldVert[0], oldVert[1], newX, newY, lenIthNew, lenFirstOld);
531
      double sin = QuatHelper.computeSin( oldVert[0], oldVert[1], newX, newY, lenIthNew, lenFirstOld);
555 532

  
556 533
      rotateAllVertices(buffer,len,newVert,sin,cos);
557 534

  

Also available in: Unified diff