プロが教える店舗&オフィスのセキュリティ対策術

3次元座標の中の、三角形の面の傾きを調べるには
どのように計算したらいいのでしょうか。
三角形の頂点座標はわかっていて
Yが高さで、X、Zが方向になっています。

アークタンジェントを使って面の法線の角度を
調べたり、してみたのですが、うまくいきません。

平面であれば、アークタンジェントの結果を360度のはんい
に修正すればできるのですが、

3次元ベクトルの場合、角度はどうなっているのでしょうか。
よく、3次ベクトルは2次にZ座標が増えるだけと聞きますが
三角関数は平面しか計算できませんし、
XY平面、ZY平面でそれぞれ計算した角度を、
足せばいいとも思えません。

見た目で考えれば、空間に三角の斜面があればその傾斜角が
ひとつだけあるはずなのですが、実際にはどのように
計算したらよいのでしょうか。

どなたかご存知の方がおりましたらよろしく
お願いいたします。

A 回答 (2件)

こんにちは。



「空間座標」「空間ベクトル」で解決できると思います。

三角形の頂点の座標が既知ということですから、その三角形の載っている平面
が求まります。空間における平面には「法線ベクトル」というものが付随する
ので、「水平面」と「三角形の載っている平面」のそれぞれの法線ベクトルの
内積を考えれば、なす角は求まると思います。

>3次元ベクトルの場合、角度はどうなっているのでしょうか。
平面においては、傾き(tanα)というものが定義されていました。
「傾き」という概念は、分かりやすい反面、かなり特殊な状況設定ですので、
次元が上がるとそのままでは使えないのです。
平面上の点は、(rcosα, rsinα) と角度1つで表せるのに対して、
空間内の点は、(rsinαcosβ, rsinαsinβ, rcosα) という具合に
角度に2つ(αとβ)の文字が必要とされます。

3次元以上の空間では勾配ベクトル(gradφ)というものに変わります。
これは言ってみれば、「2方向の傾きの和」ということになります。
ただし、「面の傾き」がパラメーターを含んでいなければ必要ない
かも知れません。
    • good
    • 0
この回答へのお礼

知りたかった事をそのまま教えて下さってありがとう
ございます。

法線の角度が面の角度と関係あるのではと
思い、三角関数を使ってしまいましたが、
3次元では内積をつかうのですね。

勾配ベクトルや、2方向の傾きの和
についてもこれから調べて
見ようと思います。

問題が解決しました。
本当にありがとうございました。

お礼日時:2007/09/19 15:37

平面の方程式を


(x/X)+(y/Y)+(z/Z)=1
とおくと
平面とx軸の交点がP(X,0,0)、
平面とy軸の交点がQ(0,Y,0)、
平面とz軸の交点がR(0,0,Z)となります。
直線PRへ原点O(0,0,0)から下した垂線の足をHとすると
直線PRの式は (x/X)+(z/Z)=1
線分OH=1/√{(1/X)^2+(1/Z)^2}=XZ/√{X^2+Z^2}
原点から平面に下した垂線の足をK(a,b,c)とすれば
ベクトル(→OK)は法線ベクトルでもあるから
法線ベクトル(a,b,c)=(1/X,1/Y,1/Z)
線分OK=(原点から平面に下した垂線の長さ)
=1/√{(1/X)^2+(1/Y)^2+(1/Z)^2}
=XYZ/√{(XY)^2+(YZ)^2+(ZX)^2}

>三角形の頂点座標はわかっていて
>Yが高さで、X、Zが方向になっています。
質問は平面のXZ座標平面に対する傾斜角αを求めるのであるから
sinα=OK/OH=Y√[(X^2+Z^2)/{(XY)^2+(YZ)^2+(ZX)^2}]
これから
α=arcsin(Y√[(X^2+Z^2)/{(XY)^2+(YZ)^2+(ZX)^2}])
となるかと思います。

合っているかは保証しませんので計算して確認してみてください。
理解できないと合っている事も確認できないですよ。
その場合は教科書や参考書で勉強して下さい。

この回答への補足

回答ありがとうございます。
外積を使って法線を求める所まで
はわかりましたが平面の方程式というのは
知りませんでした。
中卒で働いて一人で勉強していたので
平面の方程式というのは
初めて聞きました。

法線と面の中の線の内積が0ということから
でてくる式らしいですが
自分で計算できるようにもっと
勉強してみます
ありがとうございました。

補足日時:2007/09/19 15:00
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!