激凹みから立ち直る方法

原点(0,0,0),法線(a,b,c)で表される平面上にある、
半径rの円の円周のx,y,z座標をrと角度θを用いて表したいのですが、
どのように表現できますでしょうか?

どなたかご教授願います。

A 回答 (4件)

(a,b,c)は点の座標または法線の方向ベクトルしか決まらず、法線や平面が確定できません。



逆に平面が確定すれば、法線ベクトルが確定します(1つとその逆向きの2つの法線ベクトルが存在します)。法線は確定しません。

たとえば、平面の方程式を 「ax+by+cz=1」を与えると、法線の方向ベクトル(法線ベクトル)が確定しますが、法線(という直線)は通る点を1つ指定しないと確定しません。

原点(0,0,0)を通る法線なら(x,y,z)=t(a,b,c) (tは媒介変数)で表せます。
この法線に直角な平面は無数に存在するので、平面上の一点または法線上の一点を通る平面と指定してやると平面が確定します。
平面が確定すると、平面の上に、中心と半径を指定してやると円が確定します。

以上を逆に辿って考えると、原点を中心とする半径Rの円の方程式を
 (x,y,z)=(Rcosω,Rsinω,0) (R>0,0≦ω<2π) … (☆)
とします。この法線方向単位ベクトルは(0,0,1)(z軸の単位ベクトルと同じ)、法線を
z軸つまり(x,y,z)=(0,0,t)(tは媒介変数)と表しておきます。

一方、平面をax+bx+cz=1 …(■)の法線方向単位ベクトルは
 (a,b,c)/√(a^2+b^2+c^2)
で表せます。
これを球座標のパラメータを使って表すと
 (cosθsinφ,sinθsinφ,cosφ)
ただし、
 cosφ=c/√(a^2+b^2+c^2),sinφ=√(a^2+b^2)/√(a^2+b^2+c^2),
 cosθ=a/c,sinθ=b/c   …(★)
となります。
原点を通るこの平面の法線は(x,y,z)=t(a,b,c)で表せます。

平面:ax+bx+cz=1の法線方向単位ベクトル(cosθsinφ,sinθsinφ,cosφ)をz軸方向単位ベクトル(0,0,1)に写像する回転行列Mは
 M=M1M2
ここで
 z軸を中心に時計方向にφ回転する行列M1
  M1=[[cosφ,-sinφ,0],[sinφ,cosφ,0],[0,0,1]]
 y軸を中心に時計方向にθ回転する行列M2
  M2=[[cosθ,0,-sinθ],[0,1,0],[sinθ,0,cosθ]]
Mを計算すると
 M=[cos(s)*cos(t),-sin(s),-cos(s)*sin(t)],
  [sin(s)*cos(t),cos(s),-sin(s)*sin(t)],
  [sin(t),0,cos(t)]

(☆)の円周上の点(x,y,z)と原点を通り(■)の平面に平行な平面…(◆)に写像したときの座標(X,Y,Z)の間には
 (x,y,z)=(X,Y,Z)M
という関係があるから、(x,y,z)を計算すると
 (x,y,z)=(sin(t)Z+sin(s)cos(t)Y+cos(s)cos(t)X,
 cos(s)Y-sin(s)X,
 cos(t)Z-sin(s)sin(t)Y-cos(s)sin(t)X)
この(x,y,z)のx,yを(☆)の円:
 x^2+y^2=R^2
に代入してやれば(X,Y,Z)の座標間の関係式(写像された円の式)が求まります。
また 
 (X,Y,Z)=(x,y,z)M^-1=(Rcosω,Rsinω,0) …(▲)
M^-1はMの逆行列で計算すると
 M^-1=[cosφcosθ,sinφcosθ,sinθ]
[-sinφ,cosφ,0]
[-cosφsinθ,-sinφsinθ,cosθ]
 ただし、φ,θのcos,sinは(★)の式で与えられる。

(▲)を計算すれば、(◆)に写像された円周上の点の座標が得られます。
 (X,Y,Z)=(aRcosω/√(a^2+b^2)-R√(a^2+b^2)sinω/√(a^2+b^2+a^2),
cRsinω/√(a^2+b^2)+aR√(a^2+b^2)cosω/(c√(a^2+b^2+c^2)),
(bR/c)cosω)
と得られます。
この写像された平面(◆)上の円を平面(■)上の点(円の中心座標)(xo,yo,zo)
まで並行移動すれば求める円周上の点(x,y,z)=(X+xo,Y+yo,Z+zo)が得られます。
ここで、円の中心座標(xo,yo,zo)は平面(■)上の点なので axo+byo+czo=1を満たします。

>半径rの円の円周上の(x,y,z)座標をrと角度θを用いて表したいのですが、
どのように表現できますでしょうか?
上記の解析では極座標のr,θと混乱するので、r→R,θ→ωと置き換えていますので、必要があれば、もとのr,θに置き換えて下さい。

(x,y,z)=(xo+aRcosω/√(a^2+b^2)-R√(a^2+b^2)sinω/√(a^2+b^2+a^2),
yo+cRsinω/√(a^2+b^2)+aR√(a^2+b^2)cosω/(c√(a^2+b^2+c^2)),
zo+(bR/c)cosω)
ただし、axo+byo+czo=1

参考URL:http://ft-lab.ne.jp/cgi-bin/wiki.cgi?page=%A5%A2 …
    • good
    • 0
この回答へのお礼

>(a,b,c)は点の座標または法線の方向ベクトルしか決まらず、法線や平面が確定できません。

すみません、点ではなく、ベクトル(x、y、z)の誤りでした。
原点から(x,y,z)へのベクトルを示しているつもりでした。
申し訳ありません。

ご丁寧な説明ありがとうございました。
大変参考になりました!

お礼日時:2011/08/29 21:34

→u = (x0,y0,z0) / √(x0^2+y0^2+z0^2)


→v = (→u) × (a,b,c) ←外積
→w = (→v) / |→v|
と置くと、
{ →u, →w } が問題の平面の正規直交基底となりますから、
円は (r cosθ)(→u)+(r sinθ)(→w) と媒介変数表示されます。

成分計算は、御自分で。
(求めかたを説明するよりも、答えを書いたほうが
喜ばれるのでしょうが、主義に反するので…)
    • good
    • 0
この回答へのお礼

いえ、とんでもないです、ご説明ありがとうございます。
数学から離れて久しいので、頑張って計算してみます!

お礼日時:2011/08/29 22:04

点(a,b,c)をz軸上に移動させる回転行列をP、その逆行列をQ、


z軸を回転軸としてθ回転させる回転行列をRとすれば、
B=QRPA
となります(A,Bは点A,Bの位置ベクトル)。
    • good
    • 0

たとえば、その平面がどこを通るのかわからないと確定しません。


法線だけ与えられていてもそれに平行な平面が沢山あります。

また、角度θがどれとどれのなす角かわからないと答えようがないです。

この回答への補足

すみません、完全に説明不足でした。

平面は法線(a,b,c)と原点O(0,0,0)からなる平面です。
円の中心は原点Oで、円周上に点A(x0,y0,z0)と点B(x,y,z)を考え、
OとAを結ぶ線分OAにBから垂直に下ろした線との交点をPとします。
この時の点B、P、原点Oの3つで作られる直角三角形の原点部分の角度をθとして下さい。

この時のBの座標をr、θ、点Aの座標の値(x0、y0、z0)を使って表せますでしょうか?

補足日時:2011/08/29 01:52
    • good
    • 0

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