- ベストアンサー
【座標】あるラインから半径r離れた新ラインの座標
3次元の座標、点A(0, 0, 0)、点B(100, 0, 0)、点C(100, 100, 0)、点D(100, 100, 100) を結んだラインがあります。 このラインを中心に、半径r離れた円周上に、中心のラインと並走するように、 新ラインを10本配置し、パイプのような形状を表現したい場合、 新ライン10本の座標はどのような計算をすればよいでしょうか? X軸方向、Y軸方向、Z軸方向には直角にしか曲がりません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.2です。 ANo.2の補足の質問について 補足の質問は、多数の組み合わせの羅列ですが、 一回直角に曲がるだけのケースについての質問のようですね。 パターンが多いのでとりあえず最初の四通りだけ。 >01.X軸のプラス方向後、Y軸のプラス方向へ →(今回ご教示いただきました計算式) 中心線(0,0,0)→(100,0,0)→(100,100,0) x軸方向の新ライン (x, r*cos(πk/5), r*sin(πk/5), 0≦x≦100-r*cos(πk/5) y軸方向の新ライン (100-r*cos(πk/5), y, r*sin(πk/5), a*cos(πk/5)≦y≦100 >02.X軸のプラス方向後、Y軸のマイナス方向へ 中心線(0,0,0)→(100,0,0)→(100,-100,0) x軸方向の新ライン (x, r*cos(πk/5), r*sin(πk/5), 0≦x≦100+r*cos(πk/5) y軸方向の新ライン (100+r*cos(πk/5), y, r*sin(πk/5), -100≦y≦a*cos(πk/5) >03.X軸のプラス方向後、Z軸のプラス方向へ 中心線(0,0,0)→(100,0,0)→(100,0,100) x軸方向の新ライン (x, r*cos(πk/5), r*sin(πk/5), 0≦x≦100-r*sin(πk/5) z軸方向の新ライン (100-r*sin(πk/5), r*cos(πk/5), z), r*sin(πk/5)≦z≦100 >04.X軸のプラス方向後、Z軸のマイナス方向へ 中心線(0,0,0)→(100,0,0)→(100,0,-100) x軸方向の新ライン (x, r*cos(πk/5), r*sin(πk/5), 0≦x≦100+r*sin(πk/5) z軸方向の新ライン (100-r*sin(πk/5), r*cos(πk/5), z), -100≦z≦r*sin(πk/5)
その他の回答 (2)
- info222_
- ベストアンサー率61% (1053/1707)
10本の連続する新ライン(k=0,1,…,9) 以下の三本の新ラインはkの値が同じのとき、繋がった一本の連続する直交線分となります。 x軸方向の新ライン (x, r*cos(πk/5), r*sin(πk/5)), 0≦x≦100-r*cos(πk/5) y軸方向の新ライン (100-r*cos(πk/5), y, r*sin(πk/5)), a*cos(πk/5)≦y≦100-a*sin(πk/5) z軸方向の新ライン (100-r*cos(πk/5)), 100-r*sin(πk/5), z), r*sin(πk/5)≦z≦100 以上の式を使って、連続する新ライン10本をプロットした図を添付します。図はr=30としてプロットした例です。
- transcendental
- ベストアンサー率51% (28/54)
1.AB上に円の中心があるとき、10本の直線は、 (x、r・cos(πk/5)、r・sin(πk/5))、(k=0、1、2、・・、9および、0≦x≦100) 2.BC上に円の中心があるとき、10本の直線は、 (100+r・cos(πk/5)、y、r・sin(πk/5))、(k=0、1、2、・・、9および、0≦y≦100) 3.CD上に円の中心があるとき、10本の直線は、 (100+r・cos(πk/5)、100+r・sin(πk/5)、z)、(k=0、1、2、・・、9および、0≦z≦100) -------------------- ※ 上記座標において1つのkの値で、AB間、BC間、CD間が連続する1つの直線にはなっていません。
お礼
お早いご回答ありがとうございます!
お礼
ご回答ありがとうございます! 図まで用意していただきまして大変感謝しております。 イメージしていた絵が、まさしくこの図の通りになります。私の質問に時間を割いていただきありがとうございました。
補足
補足ではなく、度々の質問申し訳ありません。 今回の質問は、X軸、Y軸、Z軸のプラス方向へ進んだ座標になりましたが、X軸、Y軸、Z軸のマイナス方向へ進むこともあるとして、全てのパターンを網羅するとなると、以下の計算式が必要となるのでしょうか? その場合には数が多く大変申し訳ないのですが、どうかご教示いただけないでしょうか。 01.X軸のプラス方向後、Y軸のプラス方向へ →(今回ご教示いただきました計算式) 02.X軸のプラス方向後、Y軸のマイナス方向へ 03.X軸のプラス方向後、Z軸のプラス方向へ 04.X軸のプラス方向後、Z軸のマイナス方向へ 05.X軸のマイナス方向後、Y軸のプラス方向へ 06.X軸のマイナス方向後、Y軸のマイナス方向へ 07.X軸のマイナス方向後、Z軸のプラス方向へ 08.X軸のマイナス方向後、Z軸のマイナス方向へ 09.Y軸のプラス方向後、X軸のプラス方向へ 10.Y軸のプラス方向後、X軸のマイナス方向へ 11.Y軸のプラス方向後、Z軸のプラス方向へ →(今回ご教示いただきました計算式) 12.Y軸のプラス方向後、Z軸のマイナス方向へ 13.Y軸のマイナス方向後、X軸のプラス方向へ 14.Y軸のマイナス方向後、X軸のマイナス方向へ 15.Y軸のマイナス方向後、Z軸のプラス方向へ 16.Y軸のマイナス方向後、Z軸のマイナス方向へ 17.Z軸のプラス方向後、Y軸のプラス方向へ 18.Z軸のプラス方向後、Y軸のマイナス方向へ 19.Z軸のプラス方向後、X軸のプラス方向へ 20.Z軸のプラス方向後、X軸のマイナス方向へ 21.Z軸のマイナス方向後、Y軸のプラス方向へ 22.Z軸のマイナス方向後、Y軸のマイナス方向へ 23.Z軸のマイナス方向後、X軸のプラス方向へ 24.Z軸のマイナス方向後、X軸のマイナス方向へ