図形角度変更後の当たり判定 – プログラミング – Home

図形角度変更後の当たり判定
 
通知
すべてクリア

[解決済] 図形角度変更後の当たり判定


reiry
 reiry
(@reiry)
ゲスト
結合: 19年前
投稿: 5
Topic starter  

CRect::PtInRect を使い当たり判定をしています。
このとき四角形の角度を変化させて(例えば30度)四角形の頂点を算出し
四角形の当たり判定をしたいと思っているのですが
当然PtInRect関数は使えないので
どのようなロジックを組めばよいのでしょうか?
ご教授お願いします。


引用未解決
トピックタグ
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

それは既に矩形ではなくてポリゴンなのでは?
ポリゴンと点の内外判定で調べて見てはどうでしょう。
幾何計算系の関数でそんな事をやってくれるライブラリが転がっているかも。
無ければ、その手の本やホームページでアルゴリズムを調べて
自分で実装するのも一興かと。


返信引用
しん
 しん
(@しん)
ゲスト
結合: 25年前
投稿: 113
 

四角形の各頂点を回転する計算方法は既知、という前提でお話します。

回転後の各辺(全部で4本)と 点の内積を取り、その符号が全て同一か否か
で内外判定ができます。

凸(凹も?)多角形全般かつ軽い計算でピッキング用衝突検出をできるのが特徴です。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

計算が面倒なら、リージョン(CRgn)を使うとか。


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

CRgn::PtInRegion これね。


返信引用
reiry
 reiry
(@reiry)
ゲスト
結合: 19年前
投稿: 5
Topic starter  

PATIO様、しん様、dairygoods様、たいちう様
ご回答有難うございます。

内積をとり内外判定を調べるコトでで当たり判定をとることが出来ました。
私はまだ数学の知識が足りなかったみたいです。

CRgn…こんな便利なクラスがあることは知りませんでした。
MFC時に組み込んでみようと思います。

解決しました。有難うございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました