質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

4回答

2114閲覧

平方四辺形内に座標が含まれているか判定するプログラム(opencv)

mush01

総合スコア14

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/12/01 09:23

自分が指定した座標が平方四辺形内に含まれているか判定するプログラムを作りたいのですが、うまくできません。

普通の四角形なら、if min <= x , x <= max and min <= y, y <= max
みたいな条件式を書けばいいと思うのですが、平方四辺形では、どのような条件式を書けばいいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shiracamus

2019/12/01 09:28

書いたプログラムを示してくださらないと、どこが悪いのかわかりません。 自分が指定する座標はどんなデータですか? 変数名・引数名は決まっていますか? 平方四辺形のデータはどんなデータですか? 原点座標と1辺の長さだけですか? 変数名・メンバ名は決まっていますか?
shiracamus

2019/12/01 23:03

平方四角形じゃなく、平行四角形?
guest

回答4

0

高校の数学で説明します。
2次元平面上の平行四辺形は、その辺を表す4つの直線の方程式を使って表せます。
つまり今考えている座標が平行四辺形の内部にあるための条件は、
その座標が4つの直線の式それぞれに対して上にあるか、下にあるかという不等式によって表現できます。

ほかにもやり方がありますが、これが一番単純かと思います。
参考になれば幸いです。

投稿2019/12/01 09:54

tkymtmt

総合スコア143

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

平行四辺形のある頂点Aから、隣接する頂点へ向かうベクトル2つをa=(a1,a2),b=(b1,b2)とします。
平面上の点Pに対し、APベクトルの成分が求められます。これを(p1,p2)として、
xa+yb=(p1,p2)
つまり
a1x+b1y=p1
a2x+b2y=p2
という連立方程式を解きます。逆行列が使えるならそれが早いでしょう。
求めたx,yがいずれも0以上1以下であれば、Pは平行四辺形の周または内部にあります。

投稿2020/09/17 06:46

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

下図で赤い●の位置が調べたい点の座標だとします.

平行四辺形の頂点の1つを原点とし,平行四辺形のある辺(図内では青破線が描かれている側の辺)に垂直な方向の軸(青矢印)を考えた時,
調べたい点の位置ベクトル(赤矢印)の,この軸方向の成分が,2本の青破線の範囲内であるかどうかを調べます.
(赤破線と青矢印の交点が,2本の青破線と青矢印の交点の間にあるか否かを調べる)

範囲内である場合,同じことを平行四辺形の別の辺(青破線が描かれていない側の辺)について行います.
両方が共に範囲内であれば,点は平行四辺形の内部です.

イメージ説明

投稿2019/12/02 04:00

編集2019/12/02 04:03
fana

総合スコア11656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

過去の質問に類似したものがありました

https://teratail.com/questions/162591

投稿2019/12/01 17:28

R.Shigemori

総合スコア3376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問