アプリ版:「スタンプのみでお礼する」機能のリリースについて

xyz座標空間に次のような球があるとします。
 球面:x^2+y^2+z^2=r^2
この球を点(a,b,c) (a>r, b>r, c>r)から見たときに見える部分(円)の方程式を求めることは可能でしょうか。

A 回答 (6件)

#4は球の式だし。

rがダブってるし。

誰が good にしてる? 自分か?
    • good
    • 0

点(a,b,c)を通る球の接線と球の接点の軌跡を求める問題とする。



このとき、3次元空間の関係で f(x,y,z)=0 という式は平面を表す
から、曲線を表すことはできない。つまり
 x²+y²+z²=r², ax+by+cz=r²・・・・・①
で表されるし、これ以上のことは言えない。

しかし、a=b=0 の場合は、x²+y²=r²(1-r²/c²) となって軌跡のイ
メージはしやすいが、しょせん、x-y平面の射影である。

つまり、①の場合、zを消してもx-y平面への射影であり、楕円とな
って、実際の円とは対応できず、あまり題意にそわない。

そこで、空間の曲線はパラメータ表示できることを使う。

したがって、x軸をz軸周りで(xy平面を)回転させて x'y'z'座標にす
る。ここで
 tanθ=b/a
にとると、点(a,b,c)のxy平面の射影の位置になる。さらに
 tanφ=c/√(a²+b²)
だけ、y'軸周りで(x'z'平面を)回転させると、x''y''z''座標系に移動
するとx軸がx''軸に行く。

回転公式から、これらは
[x] [cosθ -sinθ 0][x']
[y]=[sinθ cosθ 0][y']
[z] [0   0  1][z']

[x'] [cosφ 0 -sinφ][x'']
[y']=[ 0 1 0 ][y'']
[z'] [sinφ  0 cosφ][z'']
となる。つまり

[x] [cosθcosφ -sinθ -cosθsinφ][x'']
[y]=[sinθcosφ cosθ -sinθsinφ][y'']
[z] [sinφ  0 cosφ][z'']・・・・・・・・・・①
となる。

すると、x''y''z''座標系では点(a,b,c)の座標は
 x''=√(a²+b²+c²) , y''=z''=0
となる。点(a,b,c)をA、軌跡の一点をBとすれば、α=∠BOA とす
れば、cosα=r/√(a²+b²+c²) なので、軌跡の円の中心の座標は
 x''=l=rcosα=r²/√(a²+b²+c²)
であり、その半径は
 h=rsinα=r√{1-r²/(a²+b²+c²)}
となり、軌跡の円はパラメータ表示で
 y''=hcost , z''=hsint (0≦t<2π)

これらを①にいれれば求める奇跡の式が得られる。まとめると
[x] [cosθcosφ -sinθ -cosθsinφ][r²/√(a²+b²+c²]
[y]=[sinθcosφ cosθ -sinθsinφ][hcost]
[z] [sinφ  0 cosφ][hsint]

 tanθ=b/a , tanφ=c/√(a²+b²)
h=rsinα=r√{1-r²/(a²+b²+c²)}
    • good
    • 1
この回答へのお礼

endlessriver様

endlessriver様には以前にも質問に答えていただきました。
その際も明快な説明でしたが、今回もまたわかりやすい説明をありがとうございます。
プロセスがわかりやすく、3次元空間における図形の考えた方?が少しずつわかってきた気がします。
またわからないことがあったら、endlessriver様に答えていただきたい、そう思いました。
ありがとうございました。

お礼日時:2021/02/17 22:04

原点をO、円上の点をP=(p、q、r)、A=(a、b、c)とすると


OPAは直角三角形だから
(p-a)^2+(q-b)^2+(r-c)^2 +r^2=a^2+b^2+c^2
    • good
    • 3

「点qが球面上にある」というのは、すなわち、ベクトルqの長さはrである


  |q|=r …(1)
ということです。さて、「p=(a,b,c)から見てギリギリ見える範囲の端っこに((1)を満たす)点qがある」ということは
  (p-q)・q = 0…(2) (・は内積)
と表せる。なぜなら、qとpを通る直線は球の接線(qで接する)なので、原点Oとqとpが直角三角形(点qのところが直角)を成すからです。というわけで(1)と(2)の連立方程式がご質問の円の円周を表しています。

 ついでに、この円が乗っている平面は?と問うと、円周上の任意の点qから線分Opに下ろした垂線の足を点tとすれば、ベクトルtに垂直な平面がその平面である。⊿Oqpと⊿Otqは相似なので、
  |t|:r = r:|p|
だから、
  t =((r/|p|)^2)p
です。だから円の半径は√((r^2)-(|t|^2)) ですね。
    • good
    • 1

どういう形で求めようとしているのかわからんけど


・その円を含む面の方程式
・円の半径
・円の中心
は全部簡単にわかるよね.
    • good
    • 0
この回答へのお礼

円を含む面の方程式はax+by+cz=r^2なので、x^2+y^2+z^2=r^2との連立方程式から円の方程式が得られると考えたのですが、どう処理してよいのか分かりません。

お礼日時:2021/02/14 19:47

点(a,b,c)から球へ接線を引いて,その接点の座標の集まりを求めればいけそう.


なので可能だと思います.
    • good
    • 0
この回答へのお礼

御回答ありがとうございます。

当方もそのように考えたのですが,どのように処理すればいいか分からず苦戦しているところです…。

お礼日時:2021/02/14 18:32

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