2012-01-11 20 views
0

私は軸上で波を回転しようとしていますが、何とか45度以上の値のsinとcos値を渡すと波が歪んでいるようです機能は適切な角度で回転しません。なぜ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); 
} 

答えて

関連する問題