0

以下を使用して、エンティティが時間の経過とともに楕円形のパスに沿って移動するときに、エンティティの x および y 位置を取得しています。

x = Math.cos(time)*width/2
y = Math.sin(time)*height/2

全体を特定の角度、たとえば 45 度または 132 度回転させる簡単な方法はありますか?

4

3 に答える 3

3

簡単な回転変換を使用できます。

x1 = x*cos(a) - y*sin(a)
y1 = x*sin(a) + y*cos(a)

a- は回転する角度です。

このウィキペディアの記事では、それについて詳しく説明しています

于 2012-10-15T04:36:26.237 に答える
1

上記の式で計算した各ポイント(x、y)について、次の式でシータ度(反時計回り)に回転できます

  • x' = x * cos(シータ) - y * sin(シータ);
  • y' = x * sin(シータ) + y * cos(シータ);

ここで、x と y は回転前の元の座標、x' と y' は回転後の座標、theta は回転する角度です。

座標回転

于 2012-10-15T04:43:01.813 に答える
0

はい、結果に対して 2D 回転を行い、x楕円yを回転させます。

xrot = x * cos(A) - y * sin(A)
yrot = x * sin(A) + y * cos(A)

そして、それを覚えておいてRadians = Degrees * PI / 180ください。

于 2012-10-15T04:37:04.287 に答える