我在做一个小游戏,现在我正在研究一个“雷达”。现在要做到这一点,我需要根据一个点围绕中心点旋转多少来找到两个点。根据一个点在一个中心点上旋转多少来寻找2分
A
是要绕C
。
由于A
绕C
,B
& D
将随A
移动,并停留在基于断的地方A
是相同的“位置”。
因此,举例来说,如果A
各地C
旋转90度B
& D
会再移动,并在这个位置
但我不是在TRIG非常好,所以我真的不知道我需要的数学才能找到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];
http://stackoverflow.com/questions/2259476/rotating-a-point-about-another-point-2d – SingerOfTheFall
你知道A围绕C旋转的角度吗? – acraig5075