C++ 移动和旋转二维线
如何旋转具有多个点的二维线并将其移动到新的起点和终点 我的预定义行具有以下值C++ 移动和旋转二维线,c++,C++,如何旋转具有多个点的二维线并将其移动到新的起点和终点 我的预定义行具有以下值 std::vector<POINT> preLine = { { 3,3 }, { 5,4 }, { 7,4 }, { 8,3 }, { 11,2 }, { 12,3 }, { 15,3 }, { 17,4 }, { 18,6 }, }; std::vector preLine={ { 3,3 }, { 5,4 }, { 7,4 },
std::vector<POINT> preLine = {
{ 3,3 },
{ 5,4 },
{ 7,4 },
{ 8,3 },
{ 11,2 },
{ 12,3 },
{ 15,3 },
{ 17,4 },
{ 18,6 },
};
std::vector preLine={
{ 3,3 },
{ 5,4 },
{ 7,4 },
{ 8,3 },
{ 11,2 },
{ 12,3 },
{ 15,3 },
{ 17,4 },
{ 18,6 },
};
现在,我尝试在另一个地方用不同的起点和终点重新绘制同一条线。请发布您尝试过的内容,最好是a,并指出存在问题的地方。使用旋转轴,然后执行a。旋转、缩放、平移等已在许多网站上讨论过。只需谷歌就可以了。你可能需要阅读矩阵等。哦,这看起来不像C,所以我去掉了C标签。我只是注意到这些点根本不在一条线上。你想旋转/移动等多边形,而不是一个有多个点的线(至少不是大多数人认为一条线:连接两点的东西——要么结束,要么无限地向两边延伸)。我将开始调整所有的坐标在<代码>预编行< /代码>,这样第一个点是在代码> {0}0}。并且从起点到终点的角度为0。这将简化实现,因为您可以围绕起点旋转,然后转换起点。