我有一组(x,y)的定义(c ++向量)定义一条线。如何实现一个返回samle线的函数,相对于它自己的大小翻转水平和垂直?
答案 0 :(得分:3)
我认为你的意思是你不会因某些固定的来源而翻转;你对这条线的质心进行翻转。
这里有一些伪代码:
Get the min and max y and x in the vector
Height = yMax - yMin
Width = xMax - xMin
yCentroid = yMin + (Height / 2)
xCentroid = xMin + (Width / 2)
for each point...
xNew = xMax - (xOld - xMin)
yNew = yMax - (yOld - yMin)
例如,如果我们有一个从(-5,3)到(7,4)到(11,-1)的简单3点线,这将给出一条从(11,0)到(11,0)的翻转线(-1,-1)至(-5,4)。这在下面的蓝色示例中显示。
它也适用于几个点,如下面的绿色示例所示。