以下を使用して、エンティティが時間の経過とともに楕円形のパスに沿って移動するときに、エンティティの x および y 位置を取得しています。
x = Math.cos(time)*width/2
y = Math.sin(time)*height/2
全体を特定の角度、たとえば 45 度または 132 度回転させる簡単な方法はありますか?
以下を使用して、エンティティが時間の経過とともに楕円形のパスに沿って移動するときに、エンティティの x および y 位置を取得しています。
x = Math.cos(time)*width/2
y = Math.sin(time)*height/2
全体を特定の角度、たとえば 45 度または 132 度回転させる簡単な方法はありますか?
簡単な回転変換を使用できます。
x1 = x*cos(a) - y*sin(a)
y1 = x*sin(a) + y*cos(a)
a
- は回転する角度です。
このウィキペディアの記事では、それについて詳しく説明しています
上記の式で計算した各ポイント(x、y)について、次の式でシータ度(反時計回り)に回転できます
ここで、x と y は回転前の元の座標、x' と y' は回転後の座標、theta は回転する角度です。
はい、結果に対して 2D 回転を行い、x
楕円y
を回転させます。
xrot = x * cos(A) - y * sin(A)
yrot = x * sin(A) + y * cos(A)
そして、それを覚えておいてRadians = Degrees * PI / 180
ください。