我正在制作一个小游戏,现在我正在研究“雷达”。现在要做到这一点,我需要根据一个点围绕中心点旋转了多少来找到两个点。
A
将要旋转C
。
随着A
旋转C
,B
&D
将随着位置一起移动A
并保持在相同的“位置” A
。
因此,例如,如果A
旋转C
90 度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];