0

線を定義する点 (x,y) のセット (c++ ベクトル) があります。独自のサイズに対して水平方向と垂直方向に反転されたサンプル ラインを返す関数を実装するにはどうすればよいですか?

4

1 に答える 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)。これは、以下の青い例に示されています。

以下の緑色の例に示すように、これはいくつかの点でも機能します。

アルゴリズム結果のExcelプロット

于 2013-03-06T15:59:39.667 に答える