4

ここに私のコードの抜粋があります-原点を中心にポイントを回転させてから元に戻すことになっています

    angle = angle * M_PI / 180;
point1.x = (point1.x) * cos(angle) - (point1.y) * sin(angle);
point1.y = (point1.x) * sin(angle) + (point1.y) * cos(angle);

その後、「移動」する必要があるポイントを変換するために、「回転」後のポイントである象限に基づいて条件が記述されます-たとえば、1の場合、 x += 2*x および y += 2 *y. ここでの問題は回転です。たとえば、角度が 130 度の場合、点 (100,100) の場合、新しい点の座標は x:CGFloat-3.09086e-06,y:CGFloat100 になります。私は何を間違っていますか?

4

1 に答える 1