• ベストアンサー

三角形の面の傾斜をしらべるには

3次元座標の中の、三角形の面の傾きを調べるには どのように計算したらいいのでしょうか。 三角形の頂点座標はわかっていて Yが高さで、X、Zが方向になっています。 アークタンジェントを使って面の法線の角度を 調べたり、してみたのですが、うまくいきません。 平面であれば、アークタンジェントの結果を360度のはんい に修正すればできるのですが、 3次元ベクトルの場合、角度はどうなっているのでしょうか。 よく、3次ベクトルは2次にZ座標が増えるだけと聞きますが 三角関数は平面しか計算できませんし、 XY平面、ZY平面でそれぞれ計算した角度を、 足せばいいとも思えません。 見た目で考えれば、空間に三角の斜面があればその傾斜角が ひとつだけあるはずなのですが、実際にはどのように 計算したらよいのでしょうか。 どなたかご存知の方がおりましたらよろしく お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ka1234
  • ベストアンサー率51% (42/82)
回答No.2

こんにちは。 「空間座標」「空間ベクトル」で解決できると思います。 三角形の頂点の座標が既知ということですから、その三角形の載っている平面 が求まります。空間における平面には「法線ベクトル」というものが付随する ので、「水平面」と「三角形の載っている平面」のそれぞれの法線ベクトルの 内積を考えれば、なす角は求まると思います。 >3次元ベクトルの場合、角度はどうなっているのでしょうか。 平面においては、傾き(tanα)というものが定義されていました。 「傾き」という概念は、分かりやすい反面、かなり特殊な状況設定ですので、 次元が上がるとそのままでは使えないのです。 平面上の点は、(rcosα, rsinα) と角度1つで表せるのに対して、 空間内の点は、(rsinαcosβ, rsinαsinβ, rcosα) という具合に 角度に2つ(αとβ)の文字が必要とされます。 3次元以上の空間では勾配ベクトル(gradφ)というものに変わります。 これは言ってみれば、「2方向の傾きの和」ということになります。 ただし、「面の傾き」がパラメーターを含んでいなければ必要ない かも知れません。

titiop
質問者

お礼

知りたかった事をそのまま教えて下さってありがとう ございます。 法線の角度が面の角度と関係あるのではと 思い、三角関数を使ってしまいましたが、 3次元では内積をつかうのですね。 勾配ベクトルや、2方向の傾きの和 についてもこれから調べて 見ようと思います。 問題が解決しました。 本当にありがとうございました。

その他の回答 (1)

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.1

平面の方程式を (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}]) となるかと思います。 合っているかは保証しませんので計算して確認してみてください。 理解できないと合っている事も確認できないですよ。 その場合は教科書や参考書で勉強して下さい。

titiop
質問者

補足

回答ありがとうございます。 外積を使って法線を求める所まで はわかりましたが平面の方程式というのは 知りませんでした。 中卒で働いて一人で勉強していたので 平面の方程式というのは 初めて聞きました。 法線と面の中の線の内積が0ということから でてくる式らしいですが 自分で計算できるようにもっと 勉強してみます ありがとうございました。

関連するQ&A

専門家に質問してみよう