Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 移动和旋转二维线_C++ - Fatal编程技术网

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。这将简化实现,因为您可以围绕起点旋转,然后转换起点。