dポイントがお得になるネット回線は?

以前質問させていただいたことに追加でわからない点が出てきましたので質問させていただきます。

xyz座標系で(0,0,1)(0,1,0)(1,0,0)の3点を通る面があります。また、(x1,y1,z1)(x2,y2,z2)の2点を両端とした線分があります。面に対しても線分がどれだけ傾いているか(線と面のなす角θ)はどのようにしたら求められますでしょうか?例えば(2,2,2)(3,3,3)を通る線分を考えて、面に対して平行移動してみようと思うのですが、そのやり方がよくわからないのです。よろしくお願いいたします。

A 回答 (2件)

面と考えるから分かりにくいです。


面の方程式は、
ax+by+cz+d=0の一般形で与えられますが、
この係数が法線ベクトルになっています。
線分の方向ベクトルは分かっていますから、

法線ベクトルと方向ベクトルから、
両ベクトルの(内積の定義を用いて)なす角(の余弦)が
得られます。そこまで行けばあと少し!
    • good
    • 1

3点を通る平面の式は


x+y+z=1
この法線ベクトルは(1,1,1)
2点A(2,2,2),B(3,3,3)を通る直線の方向ベクトル(1,1,1)
直線の方向ベクトルと平面の法線ベクトルが平行なので
平面と直線のなす角θは(π/2)[ラジアン]ですね。
2点A,Bの例が特殊で、例としてはよくないですね。

一般には
この直線上の点B(平面外の点とする)から平面に下した垂線BH(Hは垂線の足),平面と直線の交点をPとすると∠BPHが平面と直線のなす角θになります。直角三角形BPH(∠BHP=∠R(直角))の辺の比やベクトルPB↑とPH↑の内積からcosθが求められます。

質問者の解答を補足に書いて質問するようにして下さい。
    • good
    • 2

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q平面とベクトルのなす角度の求め方

3点A(a1, a2, a3), B(b1, b2, b3), C(c1, c2, c3)で決まる平面と,ベクトルv(v1, v2, v3)のなす角度は,どのようにして求めればよいでしょうか?
参考URLのみでもよいです.

よろしくお願いします.

Aベストアンサー

平面の法線ベクトルと当該ベクトルとのなす角度ということであれば、

3点を通る平面の方程式を求め、それを
x+py+qz+s=0   (※)
とおくと、法線ベクトルn=(1,p,q)なので、
当該ベクトルvとのなす角度θは、
cosθ=n・v/|n||v|  ※分子はベクトル同士の内積
で求まります。


(※)は、vector(AB)、vector(AC)のいずれとも直交するよう法線
ベクトルn=(1,p,q)の成分を決めればよく、そのためには、
 内積 vector(AB)・n=0
 内積 vector(AC)・n=0
からp,qの連立方程式を解けばよいです。

Qミラー指数:面間隔bを求める公式について

隣接する2つの原子面の面間隔dは、ミラー指数hklと格子定数の関数である。立方晶の対称性をもつ結晶では

d=a/√(h^2 + k^2 + l^2) ・・・(1)

となる。

質問:「(1)式を証明せよ」と言われたのですが、どうすれば言いかわかりません。やり方を教えてもらえませんか_| ̄|○

Aベストアンサー

「格子定数」「ミラー指数」などと出てくると構えてしまいますが、この問題の本質は3次元空間での簡単な幾何であり、高校生の数学の範囲で解くことができます。

固体物理の本では大抵、ミラー指数を「ある面が結晶のx軸、y軸、z軸を切る点の座標を(a/h, b/k, c/l)とし、(h, k, l)の組をミラー指数という(*1)」といった具合に説明しています。なぜわざわざ逆数にするの?という辺りから話がこんがらがることがしばしばです。
大雑把に言えばミラー指数は法線ベクトルのようなものです。特に立方晶であれば法線ベクトルと全く同じになります。すなわち立方晶の(111)面の法線ベクトルは(1,1,1)ですし、(100)面の法線ベクトルは(1,0,0)です。法線ベクトルなら「ミラー指数」よりずっと親しみがあり解けそうな気分になると思います。

さて(hkl)面に相当する平面の方程式を一つ考えてみましょう。一番簡単なものとして
hx + ky + lz=0  (1)
があります。(0,0,0)を通る平面で法線ベクトルは(h,k,l)です。
これに平行な、隣の平面の式はどうでしょうか。
hx + ky + lz = a  (2a)
hx + ky + lz = -a  (2b)
のいずれかです。これがすぐ隣の平面である理由(そのまた間に他の平面が存在しない理由)は脚注*2に補足しておきました。
点と直線の距離の公式を使えば、題意の面間隔dは原点(0,0,0)と平面(2a)の間隔としてすぐに
d=a/√(h^2+k^2+l^2)  (3)
と求められます。

点と直線の距離の公式を使わなくとも、次のようにすれば求められます。
原点Oから法線ベクトル(h,k,l)の方向に進み、平面(2a)とぶつかった点をA(p,q,r)とします。
OAは法線ベクトルに平行ですから、新たなパラメータtを用いて
p=ht, q=kt, r=lt  (4)
の関係があります。
Aは平面(2a)上の点でもありますから、(4)を(2a)に代入すると
t(h^2+k^2+l^2)=a
t=a/(h^2+k^2+l^2)  (5)
を得ます。
ここにOAの長さは√(p^2+q^2+r^2)=|t|√(h^2+k^2+l^2)なので、これを(5)に代入して
|a|/√(h^2+k^2+l^2)  (6)
を得ます。OAの長さは面間隔dにほかならないので、(3)式が得られたことになります。

bokoboko777さん、これでいかがでしょうか。

*1 (h, k, l)の組が共通因数を持つ場合には、共通因数で割り互いに素になるようにします。例えば(111)面とは言いますが(222)面なる表現は使いません。
*2 左辺はhx+ky+lzでよいとして、なぜ右辺がaまたは-aと決まるのか(0.37aや5aにならないのは何故か)は以下のように説明されます。
平面をhx+ky+lz = C (Cはある定数)と置きます。この平面は少なくとも一つの格子点を通過する必要があります。その点を(x0,y0,z0)とします。
h,k,lはミラー指数の定義から整数です。またx0,y0,z0はいずれもaの整数倍である必要があります(∵格子点だから)。すると右辺のCも少なくともaの整数倍でなければなりません。
次に右辺の最小値ですが、最小の正整数は1ですから平面hx + ky + lz = aが格子点を通るかどうかを調べ、これが通るなら隣の平面はhx + ky + lz = aであると言えます。このことは次の命題と等価です。
<命題>p,qが互いに素な整数である場合、pm+qn=1を満たす整数の組(m,n)が少なくとも一つ存在する
<証明>p,qは正かつp>qと仮定して一般性を失わない。
p, 2p, 3p,...,(q-1)pをqで順に割った際の余りを考えてみる。
pをqで割った際の余りをr[1](整数)とする。同様に2pで割った際の余りをr[2]・・・とする。
これらの余りの集合{r[n]}(1≦n≦(q-1))からは、どの二つを選んで差をとってもそれはqの倍数とは成り得ない(もし倍数となるのならpとqが互いに素である条件に反する)。よって{r[n]}の要素はすべて異なる数である。ところで{r[n]}は互いに異なる(q-1)個の要素から成りかつ要素は(q-1)以下の正整数という条件があるので、その中に必ず1が含まれる。よって命題は成り立つ。

これから隣の平面はhx + ky + lz = aであると証明できます。ただここまで詳しく説明する必要はないでしょう。証明抜きで単に「隣の平面はhx + ky + lz = aである」と書くだけでよいと思います。

参考ページ:
ミラー指数を図なしで説明してしまいましたが、図が必要でしたら例えば
http://133.1.207.21/education/materdesign/
をどうぞ。「講義資料」から「テキスト 第3章」をダウンロードして読んでみてください。(pdfファイルです)

参考URL:http://133.1.207.21/education/materdesign/

「格子定数」「ミラー指数」などと出てくると構えてしまいますが、この問題の本質は3次元空間での簡単な幾何であり、高校生の数学の範囲で解くことができます。

固体物理の本では大抵、ミラー指数を「ある面が結晶のx軸、y軸、z軸を切る点の座標を(a/h, b/k, c/l)とし、(h, k, l)の組をミラー指数という(*1)」といった具合に説明しています。なぜわざわざ逆数にするの?という辺りから話がこんがらがることがしばしばです。
大雑把に言えばミラー指数は法線ベクトルのようなものです。特に立方晶であれば法線ベ...続きを読む

Q3次元ベクトルをある軸ベクトルで回転させたい

3次元ベクトルの求め方を教えてください。

下記図のように始点を軸ベクトルでθ(度)だけ回転したときの?の位置を求めたいのです。
これはどのような計算方法になるのでしょうか?なかなか思いつかなくて非常に悩んでいます。
アドバイスや回答をいただけたら助かります。よろしくお願いします。

Aベストアンサー

先ず、中心点(Sx,Sy,Sz)が原点にくるよう全体を平行移動させます。
(一番最後に元に戻します)
始点(Px,Py,Pz)は、(Px-Sx,Py-Sy,Pz-Sz)に移ります。この座標を(Px',Py',Pz')とします。

次に、回転軸ベクトル(Ax Ay Az)を回転させ、x軸に合致させます。それには二回の
回転変換が必要です。
最初に、ベクトル(Ax Ay Az)と、x軸方向単位ベクトル(1 0 0)のなす平面の法線ベクトルが
z軸に合うよう、x軸を回転させます(その角度をφとします)。
すると、回転軸ベクトルはx-y平面上に乗るので、それがx軸に合うよう、z軸を回転させます
(その角度をψとします)。

ベクトル(Ax Ay Az)と、x軸方向単位ベクトル(1 0 0)のなす平面の法線ベクトルは、(0 Az -Ay)。
x軸周りにφ回転させると、このベクトルは、
「1  0    0   「 0  =「      0
0 cosφ -sinφ   Az   Az・cosφ+Ay・sinφ
0 sinφ  cosφ」 -Ay」  Az・sinφ-Ay・cosφ」
で、z軸ベクトルに合うので
「      0      =「0
Az・cosφ+Ay・sinφ  0 
Az・sinφ-Ay・cosφ」  1」
これから、cosφ=-Ay/(Ay^2+Az^2)、sinφ=Az/(Ay^2+Az^2)
∴ φ=Arctan(-Az/Ay)

回転軸ベクトル(Ax Ay Az)は、
「1  0    0   「Ax =「      Ax      =「       Ax                   =「Ax 
0 cosφ -sinφ   Ay   Ay・cosφ-Az・sinφ   Ay・{-Ay/(Ay^2+Az^2)}-Az・{Az/(Ay^2+Az^2)}   -1
0 sinφ  cosφ」  Az」   Ay・sinφ+Az・cosφ」  Ay・{Az/(Ay^2+Az^2)}+Az・{-Ay/(Ay^2+Az^2)}」  0」
に変換され、x-y平面上に乗ります。これを(Ax' Ay' Az') とします。
つまり、(Ax' Ay' Az')=(Ax -1 0)

始点(Px',Py',Pz')もこの変換を受けるのですが、変換を全部纏めて後、一括変換させます。

今度は、x-y平面上に乗った回転軸ベクトル(Ax' Ay' Az')を、z軸の周りにψ回転させます。
「cosψ -sinψ 0 「Ax'  =「Ax'・cosψ-Ay'・sinψ =「Ax・cosψ+sinψ
sinψ  cosψ 0   Ay'   Ax'・sinψ+Ay'・cosψ   Ax・sinψ-cosψ
  0    0   1」  Az'」       Az'      」     0      」
これが、x軸ベクトルに合うので、
Ax・cosψ+sinψ=1
Ax・sinψ-cosψ=0
これから、cosψ=Ax/(Ax^2+1)、sinψ=1/(Ax^2+1)
∴ ψ=Arctan(1/Ax)

以上の回転の変換の積は、
「cosψ -sinψ 0 「1  0    0   =「cosψ -sinψ・cosφ  sinψ・sinφ
sinψ  cosψ 0   0 cosφ -sinφ   sinψ  cosψ・cosφ -cosψ・sinφ
  0    0   1」  0 sinφ  cosφ」   0     sinφ      cosφ   」

この変換を始点(Px',Py',Pz')に施します。
「cosψ -sinψ・cosφ  sinψ・sinφ  「Px' = 「Px'・cosψ-Py'・sinψ・cosφ+Pz'・sinψ・sinφ
sinψ  cosψ・cosφ -cosψ・sinφ  Py'   Px'・sinψ+Py'・cosψ・cosφ-Pz'・cosψ・sinφ
  0     sinφ      cosφ   」 Pz'」  Py'・sinφ+Pz'・cosφ               」 

この点を(Px”,Py”,Pz”)とします。

さて、ここでx軸に合った回転軸ベクトル(1 0 0)周りに(Px”,Py”,Pz”)を角度θ、回転させます。
「1  0    0   「Px” =「     Px”   
0 cosθ -sinθ   Py”  Py”・cosθ-Pz”・sinθ 
0 sinθ  cosθ」  Pz”」  Py”・sinθ+Pz”・cosθ」

これを(P_x, P_y, P_z)とします。

今度は、回転させた回転軸を元に戻す変換です。
回転の変換の逆行列は、行列各要素の余因子の行と列を入れ替えたものを行列式で割ったもので、
行列式は、(cosψ)^2+(sinψ)^2=1 なので、逆行列は
「 cosψ      sinψ        0  
-sinψ・cosφ  cosψ・cosφ   sinφ
sinψ・sinφ   -cosψ・sinφ  cosφ」

これを、(P_x, P_y, P_z)に施します。
「 cosψ      sinψ        0   「P_x =「P_x・cosψ+P_y・sinψ
-sinψ・cosφ  cosψ・cosφ   sinφ  P_y   -P_x・sinψ・cosφ+P_y・cosψ・cosφ+P_z・sinφ
sinψ・sinφ   -cosψ・sinφ  cosφ」 P_z」  P_x・sinψ・sinφ-P_y・cosψ・sinφ+P_z・cosφ」

結局、θ回転後のP点の座標は、
x座標 : P_x・cosψ+P_y・sinψ
y座標 : -P_x・sinψ・cosφ+P_y・cosψ・cosφ+P_z・sinφ
z座標 : P_x・sinψ・sinφ-P_y・cosψ・sinφ+P_z・cosφ
となります。

ここで、置き換えた変数を順次、元に戻します。
P_x、P_y、P_z を Px”、Py”、Pz” に、
Px”、Py”、Pz” を Px’、Py’、Pz’ に、
最後に、平行移動を戻して Px’、Py’、Pz’ を Px、Py、Pz に直します。

先ず、中心点(Sx,Sy,Sz)が原点にくるよう全体を平行移動させます。
(一番最後に元に戻します)
始点(Px,Py,Pz)は、(Px-Sx,Py-Sy,Pz-Sz)に移ります。この座標を(Px',Py',Pz')とします。

次に、回転軸ベクトル(Ax Ay Az)を回転させ、x軸に合致させます。それには二回の
回転変換が必要です。
最初に、ベクトル(Ax Ay Az)と、x軸方向単位ベクトル(1 0 0)のなす平面の法線ベクトルが
z軸に合うよう、x軸を回転させます(その角度をφとします)。
すると、回転軸ベクトルはx-y平面上に乗るので、それがx軸...続きを読む


人気Q&Aランキング

おすすめ情報