Revision 7aa4c349
Added by Leszek Koltunski almost 3 years ago
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
Progress with RubikControl.