
二次元の平面のある線が、
円の範囲に入っているかどうかの計算方法が知りたいです。
前、四角でやった場合の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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
c言語について array[i]-‘0’ これってどーゆー意味ですか? (ちなみに16進数を10進数
C言語・C++・C#
-
C言語について。
C言語・C++・C#
-
参考にいろいろとc言語、c++言語プログラミングでレジストリーを操作したいのですが、無料配布のc++
C言語・C++・C#
-
4
[C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について
C言語・C++・C#
-
5
C言語について。
C言語・C++・C#
-
6
PCの性能とビルド時間
C言語・C++・C#
-
7
C言語の質問です、プログラミング初心者です このような文字列があった場合 abcdef☆ghijk"
C言語・C++・C#
-
8
最近の流行りのプログラム言語はC++と比較すると
C言語・C++・C#
-
9
C言語について
C言語・C++・C#
-
10
C++言語の16進数の表現についておしえてください
C言語・C++・C#
-
11
gcc のコンパイラオプションについて
C言語・C++・C#
-
12
ファイルがあるのにエクスプローラでは存在しない
C言語・C++・C#
-
13
C言語について。
C言語・C++・C#
-
14
C++はWindows運用に必須なのか
C言語・C++・C#
-
15
あまりわかりません。 複素数$c$を具体的に定めた複素写像写像$f_c(z)$に対して、原点を含む領
C言語・C++・C#
-
16
C言語について教えて欲しいです。 ファイルの中身をコピーするプログラムを作ってます aというファイル
C言語・C++・C#
-
17
C言語 少しの疑問
C言語・C++・C#
-
18
C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並
C言語・C++・C#
-
19
c言語の問題です
C言語・C++・C#
-
20
C言語について。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
3次方程式の求解プログラム(...
-
5
至急です! マクロ定義で #defi...
-
6
doubleの変数にintとintの割り...
-
7
float型とdouble型の変数の違い...
-
8
たくさんの数の平均を求める方...
-
9
C言語を実行すると-infが出てき...
-
10
C 開放してるのにエラー(doubl...
-
11
listに構造体を格納
-
12
jacobiのNewton法
-
13
C言語で-23乗を取り扱うには
-
14
timeGetTimeについて
-
15
64bit系でのmalloc
-
16
C言語 関数プロトタイプ宣言の...
-
17
fgets()による繰り返し入力(c言語)
-
18
linux RedHatでC言語
-
19
C言語で台形公式を使った二重積...
-
20
ラグランジュの補間法のCプログ...
おすすめ情報
公式facebook
公式twitter