二次元の平面のある線が、
円の範囲に入っているかどうかの計算方法が知りたいです。
前、四角でやった場合のYahoo知恵袋で質問をしたのですが、円の場合も知りたくなりました。
https://detail.chiebukuro.yahoo.co.jp/qa/questio …
その時のベストアンサーさんのをもとにしてほしいです。
下はそのベストアンサーさんのコピペです。
円の半径は√(長方形の幅 * 長方形の幅 + 長方形の高さ * 長方形の高さ)
でお願いします。
線分と長方形に共有があるならtrueを返す
boolean hit(
double x1,/*線分の端点*/
double y1,/*線分の端点*/
double x2,/*線分の端点*/
double y2,/*線分の端点*/
double w,/*長方形の幅*/
double h,/*長方形の高さ*/
double t,/*長方形を中心とする回転角rad*/
double a,/*長方形の中心点x*/
double b/*長方形の中心点y*/
) {
x1 -= a;
x2 -= a;
y1 -= b;
y2 -= b;
w *= 0.5;
h *= 0.5;
double u = Math.cos(t), v = Math.sin(t), u1 = u*x1+v*y1, v1 = u*y1-v*x1,
u2 = u*x2+v*y2, v2 = u*y2-v*x2;
if (u1<u2) {
u1 = -u1;
u2 = -u2;
}
if (v1<v2) {
v1 = -v1;
v2 = -v2;
}
double f = h*(u2-u1)+w*(v2-v1), g = u2*v1-u1*v2;
return f+g<0&&f-g<0&&u1+w>0&&u2-w<0&&v1+h>0&&v2-h<0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 写真の図は中心(a,b)半径rの円とその円周上の(x1,y1)における接線lと円の中心とlを結ぶ任意 4 2023/08/08 16:20
- 数学 数学直線の方程式とベクトル方程式について 直線の方程式で 点(x1,y1)を通り、直線ax+by+c 1 2022/08/12 12:13
- その他(プログラミング・Web制作) Pythonにおける物理のシミュレーションでの単位変換について 2 2023/06/02 17:11
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:13
- その他(プログラミング・Web制作) Pythonでのかんたんな物理シミュレーションについての書籍 5 2023/06/02 07:37
- その他(プログラミング・Web制作) ボールの動きがスムーズに動いてかつ目盛り線描画を維持するためには 4 2023/05/31 10:01
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:07
- 数学 (4)のim(T)をu1,u2,u3の線型結合で表せ、という問題がわからないです。回答を見ると私の解 2 2023/05/31 22:14
- 物理学 弦の振幅が次式で与えられる波はどのような波でしょうか。 u1= -Asin(2πvt-2πx/λ) 1 2023/03/02 17:20
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C 開放してるのにエラー(doubl...
-
関数におけるif文とreturn文に...
-
プログラムでの数字につく”f”の...
-
2次方程式の解を求めるプログ...
-
doubleの変数にintとintの割り...
-
C言語を実行すると-infが出てき...
-
C言語の型による処理速度の違い
-
c言語で、繰り返し文の中で、0....
-
C言語で台形公式を使った二重積...
-
c言語のプログラミングについて...
-
int とdoubleの比較
-
C言語で-23乗を取り扱うには
-
バイナリから実数を取得したい...
-
C言語で表記についの質問です
-
C言語の複素数についてです。
-
c言語のコンパイルエラー canno...
-
C言語(プログラミング)関連の質...
-
float型とdouble型の変数の違い...
-
大きな数の剰余
-
C言語でポインタを用いた平均,...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムでの数字につく”f”の...
-
doubleの変数にintとintの割り...
-
float型とdouble型の変数の違い...
-
c言語で、繰り返し文の中で、0....
-
C言語を実行すると-infが出てき...
-
C言語 関数プロトタイプ宣言の...
-
C 開放してるのにエラー(doubl...
-
C言語の型による処理速度の違い
-
至急です! マクロ定義で #defi...
-
関数におけるif文とreturn文に...
-
c言語のプログラミングについて...
-
2分法で方程式の複数の解を自...
-
-1.#IND00と出てしまうのですが...
-
doubleは常に%lfとするべきなのか
-
C言語のpow関数の不具合
-
C言語で-23乗を取り扱うには
-
C言語で台形公式を使った二重積...
-
2次方程式の解を求めるプログ...
-
Cで3乗根を求める方法
-
sin(x)の近似について
おすすめ情報