円柱を有る角度で切った場合の長軸の角度の求め方

このQ&Aのポイント
  • 円柱をある角度で切断した場合の長軸の角度の求め方について教えてください。
  • 今回、Ф76.2の円柱で軸はZ軸に平行で、X軸周りに13度、Y軸周りに8度に傾けて切断されました。このときの断面形状の計算式から長軸の角度を求める方法をご教示ください。
  • 長軸の角度を求めるには、Z軸に平行な単位ベクトルezをX軸周りに13度回転し、さらにそれをY軸周りに8度回転します。この2つの回転によって得られるベクトルとZ軸の内積を求め、その結果から長軸の角度を算出することができます。
回答を見る
  • ベストアンサー

円柱を有る角度で切った場合の長軸の角度の求め方を教えてください

以前円柱を有る角度で切断した場合に出来る楕円の計算方法をお教え頂きましたが。今回Ф76.2の円柱で軸は初めはZ軸に平行で、X軸周りに13度、Y軸周りに8度に傾けて切断した時の断面形状の計算式はお教え頂いた計算の仕方から、Z軸に平行な単位ベクトルez=(0,0,1)をX軸周りに13度まわすと (0、sin13°、cos13°)これを更にY軸周りに8度まわすと (cos13°sin8°、sin13°、cos13°cos8°)でZ軸とのなす角をθとすると ezとpの内積は 1・1・cosθ=0+0+cos13°cos8°   θ≒arccos(0.9648)≒15.228°   楕円形状は 短円=76.2   長円=76.2/cos15.228°≒78.972 だと思うのですが(余り自身が有りませんが)、長円はx軸に対して角度が付いた状態で有ると思いますが、その角度の計算方法が分かりません申し訳ありませんが再度お教え下さい。

この投稿のマルチメディアは削除されているためご覧いただけません。

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

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

#1です。 A#1の補足質問の回答 >X軸13度回転の断面長=76.2/COS(13度)≒78.204 OKです。 >θ≒arccos(0.9648)≒15.228° OKです。 >長軸直径=76.2/cos15.228°≒78.972  私の計算では78.973ですのでほぼ合っていますね。 >長軸直径方向とはx軸との角度θを求めるなら >θ=arccos(長い方の直径/13度位置長さ)=arccos(78.972/78.204)=8度 この計算ではダメです。 pを成分に分けたものをp(px,py,pz)とすると θ=arccos(px/√(px^2+py^2))≒58.917° となります。この場合の長軸の直径の方向をz軸から遠ざかる方向にとっています。逆のz軸に向かう方向の長軸方向をとるなら θ'=180°-θ とします。

makoseiya
質問者

お礼

ありがとうございました。 断面を見た図を添付しますが、このようになると考えて良いのでしょうか、全くの素人で申し訳ありません。

その他の回答 (2)

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

#1,#2です。 A#2の補足の質問の回答 >断面を見た図を添付しますが、このようになると考えて良いのでしょうか、 水平軸をX軸方向(右方向が正方向)、垂直軸をY軸方向(上方向を正方向)、 画面を下から上に付けぬける方向をZ軸正方向とした水平断面図とすれば、添付の画像でよろしいと思います。 (ここに画像を添付するさい画像の縦横比を考えてアップしないと縦横比が正確に表示されません。φ76.2の円が上下方向に扁平に潰れてしまっていますね。元の図は真円だと思いますが...)

makoseiya
質問者

お礼

早速のご回答ありがとうございます。 画像は作成したそのままUPされると思っていましたが、縦横比を考慮しないといけなかったのですね、勉強になりました。 本当に親切に色々とお教え頂きありがとうございました。

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

>Ф76.2の円柱で軸は初めはZ軸に平行で、X軸周りに13度、Y軸周りに8度に傾けて切断した時の断面形状... 文章が省略しすぎで正しく把握できません。 円柱の中心軸をZ軸に平行に置きます。その円柱を最初はX軸の周りに、時計方向(右回り)に13度回転し、ついでY軸周りに、反時計方向(左回り)に8度回転し、傾いた円柱をz軸に直角な平面(XY平面に平行な平面)で切断した時の断面形状... のように解釈していいですか? また >短円、長円 とあるのは それぞれ、楕円の短い方の直径(短直径)、長い方の直径(長直径)としていいですか? >長円はx軸に対して角度が付いた状態で有ると思いますが、その角度の計算方法 長円は長直径でしょうか? やり方は 長直径方向の単位ベクトルeθ=(((p×ez)/|p×ez|)×ez)を求めて、それとX軸方向の単位ベクトルexの内積(eθ・ex)を求め、そのarccos((eθ・ex))をとればいいと思います。なお「×」はベクトル積、「・」は内積を表します。

makoseiya
質問者

補足

早速お教え頂きありがとうございます。 説明不足で申し訳ありませんでした。ご回答頂いた通り回転はX軸の周りは時計方向13度回転、Y軸周りは反時計方向8度回転し傾いた円柱をZ軸に直角な平面で切断した時の断面形状で良いのですが、小生余り数学が詳しくなくお教え頂いた計算式が余り理解できないのですが、このような考え方では駄目でしょうか、X軸13度回転の断面長=76.2/COS(13度)≒78.204 θ=arccos(長い方の直径/13度位置長さ)=arccos(78.972/78.204)=8度 の考え方で良いのでしょうか。

関連するQ&A

  • 円柱をある角度で切断時の楕円形状算式

    Ф70の円柱がX軸20度、Y軸10度傾いた状態で切断すると楕円になると思いますが、その場合の楕円の中心軸の傾きと断面形状の計算式はどの様になるのでしょうか。

  • 3次元の回転角度の求め方について教えてください。

    3次元の回転角度の求め方について教えてください。 3軸の加速度センサーがあります。 まず加速度センサーのZ軸を重力方向に置いたときの加速度センサーの値を(x1,y1,z1)=(0,0,1)とします。 加速度センサーのx軸、y軸、z軸をそれぞれ回転させたあとの加速度センサーの値を(x2,y2,z2)とします (このとき加速度センサーは静止しているので、センサーの値は重力の分力になります)。 (x2,y2,z2)が既知のとき(x1,y1,z1)に戻すためのそれぞれの回転角はどのように求めれば良いのか教えてください。 (x2,y2,z2)→(x1,y1,z1)へ移動するときの回転角を φ(z軸の回転角)、ψ(x軸の回転角)、θ(y軸の回転角) とします。 回転行列 (x1) = (cosφ -sinφ 0) (cosθ 0 sinθ) (1 0 0 ) (x2) (y1) = (sinφ cosφ 0) (0 1 0 ) (0 cosψ -sinψ) (y2) (z1) = (0 0 1) (-sinθ 0 cosθ) (0 sinψ cosψ ) (z2) より,3行3列の行列を計算すると 0=cosφcosθx2 + (-sinφcosψ+cosφsinθsinψ)y2+(sinφsinψ+cosφsinθcosψ)z2 0=sinφcosθx2 + (cosφcosψ+sinφsinθsinψ)y2+(-cosφsinψ+sinφsinθcosψ)z2 1=-sinθx2 + cosθsinψy2 + cosθcosψz2 となると思うのですが、この式からφ、ψ、θが導きだせません。 どうすれば求めることができるか教えていただけますか。

  • 傾いた円柱の内か外かの判別

    例えば、x^2+y^2=r^2, -h<z<h の円柱があります。 (原点が中心です) この円柱が下記の回転行列で2度回転します。 1 0 0 0 cosθ -sinθ 0 sinθ cosθ と cosφ -sinφ 0 sinφ cosφ 0 0 0 1 空間の点(x0,y0,z0)が、2度回転後の円柱の内部にあるかどうかを判別したいと考えております。 よろしくお願いいたします。

  • 3次元の座標変換と角度について。

    3次元のシミュレーションの勉強をしています。 3次元の座標変換で x,y,z:変換前の座標; x',y',z':変換後の座標; θ:回転する角度; lx,ly,lz:平行移動量; としたとき、 X軸に関する回転              |1 0   0    0|              |0 cosθ sinθ 0| [x' y' z' 1] = [x y z 1]|0 -sinθ cosθ0|              |0 0   0   1| Y軸に関する回転              |cosθ0 -sinθ0|              |0   1 0   0| [x' y' z' 1] = [x y z 1]|sinθ0 cosθ 0|              |0   0 0   1| Z軸に関する回転              |cosθ sinθ 0 0|              |-sinθcosθ0 0| [x' y' z' 1] = [x y z 1]|0   0   1 0|              |0   0   0 1| 平行移動              |1 0 0 0|              |0 1 0 0| [x' y' z' 1] = [x y z 1]|0 0 1 0|              |lx ly lz 1| 物体の姿勢を表現するときは [物体の姿勢の変換行列] = [Z軸の回転行列][X軸の回転行列][Y軸の回転行列][平行移動]  |XX XY XZ 0| XX,XY,XZ・・・X軸の単位ベクトルを変換した場合のベクトル  |YX YY YZ 0| YX,YY,YZ・・・Y軸の単位ベクトルを変換した場合のベクトル = |ZX ZY ZZ 0| ZX,ZY,ZZ・・・Z軸の単位ベクトルを変換した場合のベクトル  |LX LY LZ 1| LX,LY,LZ・・・平行移動量ベクトル というのは分かるのですが、 X軸、Y軸、Z軸の単位ベクトルを変換した後のベクトルから X軸、Y軸、Z軸にそれぞれ何度ずつ回転させたかを求めるにはどのようにすればよいのでしょうか? つまり、X軸に対して30度、Y軸に対して45度、Z軸に対して60度回転させた後の |XX XY XZ 0| |YX YY YZ 0| |ZX ZY ZZ 0| |LX LY LZ 1| の値からX軸に対して30度、Y軸に対して45度、Z軸に対して60度回転している事を導きたいのです。 分かる方教えてください。 お願いします。 (質問に関して、 http://www.ceres.dti.ne.jp/~ykuroda/oyaj/bone/basic3d.html を参考にさせていただきました。)

  • 【至急!!】円柱の切断の側面積

    急ぎで教えて欲しいです!!円柱の切断の問題です。円柱切断後の側面積の出し方が分かりません。。 積分で出すと思うのですが、sinθの曲線とx軸で囲まれた部分の積分のやり方が分かりません。 切断する角度をθとすると、切り口の曲線の式は、、y=sinθでいいのでしょうか?図のような曲線でいいですよね? また、円柱の直径をDとすると、底辺が2πなのかπDなのかよく分かりません。 円柱の底面の円周だからπDだと思うのですが、360°だから2π?? もう混乱してしまい・・・・お願いします!

  • 円柱と平面方程式の交線について教えて頂きたいです

    円柱 (x-a)^2+(y-b)^2=(D/2)^2  ,  0<=z<=1000 平面方程式 cx+dy+ez+f=0 上のような円柱と平面方程式とが交わってできる楕円の方程式、また その楕円上の点のうち最大と最小の値をとるzの求め方について教えて頂きたいです。 宜しくお願いします。

  • 回転した楕円を任意の直線に投影した長さの求め方

    回転した楕円を任意の直線に投影した長さの求め方 長軸を2a、短軸を2bとした場合の楕円x^2/a^2+y^2/b^2=1(楕円上の点は(a*cosθ、b*sinθ))を、長軸とx軸との角度φとして回転させ、原点を通る任意の直線(例えばx軸との角度ψが10度の直線)に投影した長さ(例えば、x軸(ψ=0)なら楕円が収まる長方形の横の長さ)の求め方が分かりません。 今のところの考えでは、 (1).回転後の楕円を求める。 ⇒x^2+y^2=a^2*(cosφ)^2+b^2*(sinφ)^2 (楕円上の点は(a*cosθ*cosφ-b*sinθ*sinφ、a*sinθ*cosφ+b*cosθ*sinφ)) (2).投影する直線の式を求める。 ⇒? (3).(2)の直線と(2)の直線の垂線で楕円と1点で接する直線の交点の座標を求める。 (4).(3)の点と原点との距離を算出し、投影した長さを求める。 というように考えていますが、(2)のところで行き詰ってしまっています。 長くなりましたが、 ・そもそも、この考えかたは合っているのでしょうか。 ・あっている場合、(2)以降を教えていただけると助かります。 ・他に計算が楽になる求め方は無いでしょうか。 よろしくお願いします。

  • 円柱の切断面

    円柱を切断してできる楕円の短径は どのような角度で切っても同じなんでしょうか? またその証明方法を教えて下さい。

  • 楕円の軌道に傾斜をつける方法を教えてください

    ActionScriptでボールを楕円に動かすスクリプトを作成しています。 x軸、y軸に平行に動くスクリプトはできるのですが、斜め45度に動くやり方がわかりません。 ↓x軸y軸に平行運動する楕円スクリプト。 //-------------------------------------------- //長軸100、短軸50の楕円形にボールを動かす r = 100;//半径 onClipEvent (enterFrame) { ang += 10; //角度を10ずつ追加 radian = Math.PI/180*ang; //ラジアンに変換(1度=pai割る180で計算) X = Math.cos(radian)*r; //コサイン×半径 でx座標を計算 Y = Math.sin(radian)*r; //サイン×半径 でy座標を計算 this._x = X; //Xを座標に反映 this._y = Y/2; //Yの半分を座標に反映 } //-------------------------------------------- なんとか傾斜した動きを作りたくていろんなサイトを見ましたが、どうしても式がわかりません。 ぜひ教えてもらえませんでしょうか。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • sinやcosから角度を・・

    テスト勉強でsin(0.3)で角度が、19.45度となる答えがありました。 同じくcos(0.769)で角度が、39.7度となっていました。 この、sinやcosの数値からどうやって角度を求めるのでしょうか? 関数電卓でもその方法わかりません。 手計算でも求められるのでしたら、その方法を教えていただけないでしょうか?