• ベストアンサー

球面上の螺旋計算方法 (未解決で再度ご質問します)

原点を中心とする半径rの球面 xy平面上にある(0、0)、(0、-r)の直線をz軸方向にz=r(球面のてっぺん)までα°回転させながら伸ばし曲面を描写 球面が曲面で分断される曲線をxy平面上に投影 yz平面上で見るθ=90-180°の範囲において定義される x及びyを求める式がわかる方、ご教授お願いいたします。 昨日もご質問に対して、ご回答を頂きましたが私の知恵不足で解決には至りませんでした。 工作機械のマクロプログラミングに際して計算方法の理解が必要になっています。 何卒宜しくお願いいたします。

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

  • ベストアンサー
  • CygnusX1
  • ベストアンサー率68% (66/97)
回答No.2

まず、螺旋の式ですが、回転率は高さ r で α ° なので、α / r となります。 高さ z での角度は z α / r となり、z = 0 で - 90 ° なので、 z α / r - 90 次に球面を高さ z でカットするとその半径は r' = √(r^2 - z^2) 高さ z での螺旋の角度が上記の通りなので x = √(r^2 - z^2) cos(z α / r - 90) y = √(r^2 - z^2) sin(z α / r - 90) となります。 実際にカーブを計算するときは頂点 z = r 近くでは r' の変化が大きいので、z = r sinθ として、θをパラメータとする方がいいと思います。 上の式は x = r cosθ cos(z α / r - 90) y = r cosθ sin(z α / r - 90) z = r sinθ となります。 添付図は α = 60 ° の時の y-z 平面、x-y 平面への投影図です。

xxxeeeggg
質問者

お礼

分かりやすい解説で誠に有難うございます。 よく理解できました!

その他の回答 (1)

  • CygnusX1
  • ベストアンサー率68% (66/97)
回答No.1

x = √(r^2 - z^2) cos(z α/ r - 90) y = √(r^2 - z^2) sin(z α/ r - 90) でどうでしょうか 直線の初期の位置が(0,0)-(0,-r)ということから、- 90 を入れてます。

xxxeeeggg
質問者

お礼

ご回答ありがとうございます。 さしつかえなければ式の解説も頂けますでしょうか。