私はポリゴンが描画される一連の画像を持っています。私はそれらのポリゴンのポイントを持っており、これらをShapelyで描画し、アイトラッカーからの特定のポイントがポリゴンに入るかどうかをチェックします。Pythonを使用してポリゴンをミラーリングするにはどうすればよいですか?
これらの画像の一部はミラーリングされていますが、ポリゴンの座標は描画されていません。どのようにしてポリゴンを左右に反転させることができますか? Shapelyでこれを行う方法はありますか?
私はポリゴンが描画される一連の画像を持っています。私はそれらのポリゴンのポイントを持っており、これらをShapelyで描画し、アイトラッカーからの特定のポイントがポリゴンに入るかどうかをチェックします。Pythonを使用してポリゴンをミラーリングするにはどうすればよいですか?
これらの画像の一部はミラーリングされていますが、ポリゴンの座標は描画されていません。どのようにしてポリゴンを左右に反転させることができますか? Shapelyでこれを行う方法はありますか?
ポリゴンを縦軸に対して反転したい場合、つまり水平方向に反転する場合は、shapely.affinity
で提供されるscale
変換(負の単位の倍率を使用)を使用するか、またはカスタム変換を使用します:
from shapely.affinity import scale
from shapely.ops import transform
from shapely.geometry import Polygon
def reflection(x0):
return lambda x, y: (2*x0 - x, y)
P = Polygon([[0, 0], [1, 1], [1, 2], [0, 1]])
print(P)
#POLYGON ((0 0, 1 1, 1 2, 0 1, 0 0))
Q1 = scale(P, xfact = -1, origin = (1, 0))
Q2 = transform(reflection(1), P)
print(Q1)
#POLYGON ((2 0, 1 1, 1 2, 2 1, 2 0))
print(Q2)
#POLYGON ((2 0, 1 1, 1 2, 2 1, 2 0))
「python」のような一般的なタグを使用することをお勧めします。質問が多くの人に届きます。 – Klyner