在 C++ 中旋转点网格
Rotate a grid of points in C++
如果我有一个点结构数组定义为
struct Point{
float x;
float y;
};
如何将此数组中的点旋转给定角度?
举个例子:
如有任何帮助,我们将不胜感激!
float x_old = p.x; float y_old = p.y;
p.x = x_old * cos(a) - y_old * sin(a);
p.y = x_old * sin(a) + y_old * cos(a);
当然,如果您将多个点旋转相同的角度,您会想要保存正弦和余弦,而不是每个点计算两次。
如果我有一个点结构数组定义为
struct Point{
float x;
float y;
};
如何将此数组中的点旋转给定角度?
举个例子:
如有任何帮助,我们将不胜感激!
float x_old = p.x; float y_old = p.y;
p.x = x_old * cos(a) - y_old * sin(a);
p.y = x_old * sin(a) + y_old * cos(a);
当然,如果您将多个点旋转相同的角度,您会想要保存正弦和余弦,而不是每个点计算两次。