2次元平面上に点のセット(std::pair
のdouble
)があり、それに閉じた輪郭(正方形、円、多角形など)を適用したいと思います。 ポイントがマスク(またはマスクの下)に含まれている場合は表示されず、そうでない場合は表示されます。例えばC++/Qtの閉じた輪郭
マスク(m_x,m_y)
その左上隅の座標とm_width
とm_height
その幅と高さを持つ長方形である場合、点は、マスクに含まれることになる(と表示されてはならない)場合:
if (x >= m_x && x <= m_x + m_width && y >= m_y && y <= m_y + m_height)
return true;
(長方形、円)それは難しいことではありません、いますが、それをどのように行うだろう/あなたが多角形のような、より困難な形状を検討するのに使うだろうか? Qt(5.6)はそうしていますか?あるいはOpenCvのようなものを使うべきですか?
EDIT 1
STDはそれをやっている場合QtはQPolygonFクラス(おかげオーレリアン)でそれを行うことができますが、あなたが知っているのですか?私たちはstd以外のライブラリを使用せずにデータライブラリを実装しました。
いいえ、C++標準ライブラリはいずれも含みませんジオメトリプリミティブ。 –