私は小さなゲームを作っており、現在「レーダー」に取り組んでいます。これを行うには、点が中心点を中心に回転した量に基づいて 2 つの点を見つける必要があります。
A
が回転しC
ます。
A
が周りを回転すると、C
&B
はD
一緒に移動A
し、どこにあるかに基づいて同じ「位置」にとどまりA
ます。
たとえば、 が90 度A
回転すると、移動してこの位置になりますC
B
D
B
しかし、私は三角法があまり得意ではないので、D
どれだけA
回転したかを見つけてそれに基づいて計算するために必要な数学がよくわかりませんC
。
どのくらい回転したかを見つけてベースにするにはどうすればよいB
ですか?D
A
C
最終的な計算は次のようになると思います。
float * returnB(float * APoint, float * CPoint)
{
float B_Out[2];
//calculate where B is based off A & C
B_Out[0] = B_X;
B_Out[1] = B_Y;
return B_Out;
}
float B[2];
B[0] = returnB(A,C)[0];
B[1] = returnB(A,C)[1];
float * returnD(float * APoint, float * CPoint)
{
float D_Out[2];
//calculate where D is based off A & C
D_Out[0] = D_X;
D_Out[1] = D_Y;
return D_Out;
}
float D[2];
D[0] = returnD(A,C)[0];
D[1] = returnD(A,C)[1];