A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
とりあえず、下記問答のファイナル(ANO.6)を利用してみて..... 。
その点(判定対象)について変換後座標 (s t) を求め、0≦s≦1 かつ 0≦t≦1 ならば四辺形の内点か境界、それ以外なら外点。
---------------------------------------
http://personal.okwave.jp/qa2867449.html
>NEC@OKWave / 座標変換
No.6
- 回答日時:
”ある点”が原点に来るように平行四辺形を平行移動させます。
そして、平行四辺形の四点のX、Y座標の最大値、最小値が
いずれも正と負となっているかどうかを調べることにより、
”ある点”が、平行四辺形の中にあるか否か、分かります。
No.5
- 回答日時:
まあ、平行四辺形に限定ですが(三角形でもいいですが)
点A(xa,ya),点B(xb,yb),点C(xc,yc),点D(xd,yd)があって機械的に点P(X,Y)が
内部にあるかどうかを判定するとすると
まず、平行四辺形がどうつながっているか調べます。分かっている時は別に必要ありません。
ベクトル↑ABの成分 (xb-xa,yb-ya)
ベクトル↑CDの成分 (xd-xc,yd-yc)
それぞれが等しい時(つまり、(xb-xa,yb-ya)=(xd-xc,yd-yc)) 平行四辺形はABDC
片方に-1倍した時等しい(つまり、(xb-xa,yb-ya)=-(xd-xc,yd-yc)) 平行四辺形はABCD
全く違う時(|xb-xa|≠|xd-xc|) 平行四辺形はACBD
それぞれ点Aに対してつながっているのがB,Cの場合とB,Dの場合とC,Dの場合ということです。
AがB,Cとつながっている時の例を書きます。点Dは(xb+xc-2xa,b+yc-2ya)と
なっているはずです。
↑AP=t↑AB+s↑AC となるt,sを計算すると点Pが平行四辺形内にあるときは
0≦t≦1,0≦s≦1が成り立ちます。いずれかが等号成立のとき、平行四辺形の
辺上ということになります。
実際の計算は行列計算で
(xb-xa,xc-xa)(t) (X)
(yb-ya,yc-ya)(s)=(Y)
となるt,sですから
(xb-xa,xc-xa)
(yb-ya,yc-ya)
の逆行列を作り、これに
(X)
(Y)
をかければいいでしょう。ということで結論として
t={(yc-ya)X+(xa-xc)Y}/{(xb-xa)(yc-ya)-(xc-xa)(yb-ya)}
s={(ya-yb)X+(xb-xa)Y}/{(xb-xa)(yc-ya)-(xc-xa)(yb-ya)}
を計算した時にそれぞれ0≦t≦1,0≦s≦1の範囲内かどうかを判定すればいいと思います。
No.4
- 回答日時:
位相的性質を使うと明快です。
といっても大した話じゃありません。以下の方法は、多角形の頂点が左回りに順序付けられている事を前提にしています。
多角形の内部に、自分が入っていると想像して下さい。順序付けられた頂点を順番に見ていくと、自分は一回転(θ=2π)するはずです。
次に多角形の外にいる場合を想像します。一番近くの頂点(正面)から順番に見ていくと、首の動作は、右回り → 領域の右端 → 左回り → 領域の左端 → 右回り → 正面(終了)となるはずです。この時、首を左右に直角に回すと、多角形が見えない事も想像出来ますよね?。という訳で、θ<π です。
さらに境界辺上にいる時は、右に直角に見て、自分のいる辺の右端を見通し、頂点を順にたどれば、首は左に回り、左直角に自分のいる辺の左端を見通して終わりです。よって、θ=π。
最後に、頂点上にいる場合は、自分の座標と頂点座標を比較して判定できます。
従って、
・座標比較 → 頂点上だった(境界上).
・座標比較 → 頂点上でない → θ を計算.
で、 内部,外部,境界上を判定できます。
じつはプログラムでよく使うんですよ。
No.3
- 回答日時:
単純なお答えで済みません。
(小学校程度か?)平行四辺形ABCDがあるとき、必ずxの最大と最小、yも最大と最小があります。(だから当たり前)
ある点(X,Y)のXがxの最大と最小の間にあり、Yもyの最大と最小の間にあれば、ABCDの中にあります。
でもこれは、平行四辺形でなくて凹でない四角形になら何でも当てはまるから、もっと良い方法があるはず。
No.2
- 回答日時:
まず、座標平面に3点A,B,Cがあったとします。
A,B,Cが左回りか右回りかを判定する方法があります。
それは、三角形ABCの面積を、行列式を使って表示し、それが正の値をとるか負の値をとるかに対応します。
3点A,B,Cのそれぞれを結ぶ直線で、平面は7つの領域に分けられます。
座標平面にさらに点Dがあったとき、それがどこの領域に属するか?
それは、三角形ABD、三角形BCD、三角形CADの符号付面積の符号の組合わせに対応します。
全部が正のときと全部が負のとき、点Dは三角形ABCの内部に属します。
その事実を質問内容に応用すればいいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報