
No.1ベストアンサー
- 回答日時:
空間座標でも、角度を求めるときは平面座標と同じ次の公式を使えます。
※AB, ACはベクトル
cosθ = (AB・AC) / (|AB|*|AC|)
次のように計算すればいいでしょう。ただし、cosθからθを求める関数(アークコサイン関数)が必要です。
∠BAC を θ とおきます。
AB = (b1-a1, b2-a2, b3-a3)
AC = (c1-a1, c2-a2, c3-a3)
|AB| = √((b1-a1)^2 + (b2-a2)^2 + (b3-a3)^2)
|AC| = √((c1-a1)^2 + (c2-a2)^2 + (c3-a3)^2)
AB・AC = (b1-a1)*(c1-a1) + (b2-a2)*(c2-a2) + (b3-a3)*(c3-a3)
cosθ = (AB・AC) / (|AB| * |AC|)
θ = cos^(-1)θ ←アークコサイン関数
これを一つの式にまとめれば一発で計算できます。
この回答への補足
さっそくの回答、ありがとうございます。
上記の式が返すθは、0≦θ≦πだと思うのですが、
0≦θ≦πと、π≦θ≦2πの区別は、A,B,Cの座標で判別可能なのでしょうか?
No.2
- 回答日時:
#1さんのような内積を使って「角度」を定義するのが一般的です。
ですので、普通は、角度は0°から180°の範囲になります。2次元平面で360°までの角度が自然に定義できるのは、むしろ、例外です。
3次元空間も含めて、普通は、0°から360°の角度を定義しようとすると、どう頑張っても「不自然」な定義になってしまいます。(それでも、というのであれば、角度の定義を補足してください)
------------------------------------------------
参考程度。
A(0,0,0),B(1,0,0)とします。
C(0,1,0)の時の∠BACの値
C(0,-1,0)の時の∠BACの値
それぞれいくつになると考えますか?
おそらく、答えは「両方とも90°(あるいは270°)」か「一方が90°で他方が270°」のどちらかだと思います。
・「両方とも90°(あるいは270°)」と考える場合:
∠BAC=270°(あるいは90°)となるような具体例を考えてみてください。
・「一方が90°で他方が270°」と考える場合:
Cがyz平面の単位円をぐるっと一周する(途中で点(0,1,0)と点(0,-1,0)を通ります)時、∠BACがどのように変化するのかを考えてみてください。
角度の範囲を0°から360°で定義しようとすると、こういう変なことになるので、「不自然」と書きました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
オンライン健康相談gooドクター登場
24時間365日いつでも医師に健康相談できる!詳しくはコチラ>>
-
3次元空間上の2つの座標から角度を求めたい
その他(プログラミング・Web制作)
-
三次元空間の3点のなす角度
数学
-
座標を入力すると角度を得られるような方法
Excel(エクセル)
-
4
3点の緯度経度(XY座標)の角度
その他(ソフトウェア)
-
5
空間上の3点の角度をエクセルで。
数学
-
6
3次元の回転角度の求め方について教えてください。
数学
-
7
ベクトルと平面のなす角度について
数学
-
8
X軸方向の角度とY軸方向の角度の合成
数学
-
9
二点の座標から角度を求めるには?
数学
-
10
3次元で回転させた座標値の計算方法
数学
-
11
3次元座標を原点中心に回転したい
数学
-
12
3次元空間上の2点を結ぶ線分の中点を知りたい
数学
-
13
三次元空間内の2つのベクトルについて、内積を計算した時、その値が負になっても2つのベクトルの成す角が
数学
-
14
三次元の座標の回転をExcelで計算したい。回転行列?
Excel(エクセル)
-
15
座標からの面角度の計算
数学
-
16
座標から距離を求める方法
数学
-
17
三角形の面の傾斜をしらべるには
数学
-
18
2つの直交3次元ベクトル同士の角度の計算方法
数学
-
19
平面とベクトルのなす角度の求め方
数学
-
20
回転行列から角度を求める
数学
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
1+1はなぜ2なのか?
-
5
「互いに素」の定義…「1と2は互...
-
6
ACCESS IIF関数 複数条件の設...
-
7
大学受験の数学で使う記号など...
-
8
“半日”って何時間のことなんで...
-
9
べき乗
-
10
マイナス7は素数ですか?
-
11
日本語 ことば ひとまわり ふた...
-
12
1未満と1以下の違い
-
13
√ ルート 定義
-
14
複素数は順序体でない
-
15
負数の累乗は???
-
16
ノートンのウイルス定義のバー...
-
17
アフィン空間の定義を簡潔に言...
-
18
0に限りなく近い数は存在するの?
-
19
VBA:2つの異なるシートからグ...
-
20
えっ!「来週」の使い方…
おすすめ情報