我有一组定义线的点(x,y)(c++向量)。如何实现一个函数,该函数返回样本线,相对于其自身大小水平和垂直翻转?
问问题
639 次
1 回答
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) 到 (-1) 的翻转线, -1) 到 (-5, 4)。这在下面的蓝色示例中显示。
它也适用于几个点,如下面的绿色示例所示。
于 2013-03-06T15:59:39.667 回答