2012-01-11 78 views
0

我想旋转轴上的波,但不知何故,如果我将传递给罪和COS值超过45波似乎得到失真或功能不会以适当的角度旋转。为什么旋转不能工作,如果超过45度

... 
wave 

// ROtate 
for (int i=0; i<300; i++){ 
    coordinatesX[i] = ((coordinatesX[i] * (float)Math.cos(60)) - (coordinatesY[i] * (float)Math.sin(60))) + coordinatesX[i]; 
    coordinatesY[i] = (coordinatesX[i] * (float)Math.sin(60)) + (coordinatesY[i] * (float)Math.cos(60)) + coordinatesY[i]; 
} 

这是整个代码:

// define newpath 
float[] coordinatesX = new float[300]; 
float[] coordinatesY = new float[300]; 
// wave 
for (int i=0; i<300; i++){ 
    coordinatesX[i] = i; 
    coordinatesY[i] = (float)(20 * (Math.sin((-0.10 * coordinatesX[i])))); 
    System.out.println(coordinatesX[i]); 
    System.out.println(coordinatesY[i]); 
} 


// ROtate 
for (int i=0; i<300; i++){ 
    coordinatesX[i] = ((coordinatesX[i] * (float)Math.cos(-10)) - (coordinatesY[i] * (float)Math.sin(-10))) + coordinatesX[i]; 
    coordinatesY[i] = (coordinatesX[i] * (float)Math.sin(-10)) + (coordinatesY[i] * (float)Math.cos(-10)) + coordinatesY[i]; 
} 

// Translate 
for (int i=0; i < 300; i++) { 
    coordinatesX[i] = coordinatesX[i]+ (200); 
    coordinatesY[i] = coordinatesY[i] + (300); 
} 

回答