【发布时间】:2017-05-25 19:32:53
【问题描述】:
我正在制作一个小游戏,现在我正在研究“雷达”。现在要做到这一点,我需要根据一个点围绕中心点旋转了多少来找到两个点。
A 将围绕C 旋转。
当A 围绕C 旋转时,B 和D 将与A 一起移动,并根据A 的位置保持相同的“位置”。
例如,如果A 围绕C 旋转90 度B 和D 将移动并处于此位置
但我不太擅长三角,所以我真的不知道根据A 围绕C 旋转了多少来找到B 和D 所需的数学。
我如何根据A 围绕C 旋转了多少找到B 和D?
我会想象最终的数学看起来和这个有点相似:
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];
【问题讨论】:
-
你知道 A 绕 C 旋转的角度吗?
标签: c++ math rotation trigonometry 2d-vector