これがplot::Tube
で実行できるかどうかについての最初の質問として、私はそうは思わない。 「チューブ表面」、「パイプ表面」 または「管状面として知られる特別なケースで、
plot::Tube
「が運河 面」として知られている一般的な管状のプロットを作成する:この機能のヘルプ(強調鉱山)を考えます"
直観的には、管表面は厚さのある空間曲線です。より正式には、管表面plot::Tube([x(t), y(t), z(t)], r(t), t = t_min..t_max)
は球中心[x(t), y(t), z(t)]
と半径r(t)
との包絡線である、すなわち、曲線の厚さは と曲線パラメータを変化させることができるt
管のように定義されていること球のコレクションの包絡線は、その断面が本質的に円形であることを示唆しています。
私はMuPADに慣れていないので、エレガント解決方法を知りません。半円形のベースラインのあなたの簡単な例のために、私は手動で表面を構成し、低レベルplot::Surface
を使用して一緒にこの場しのぎのソリューションを置くことができます:
plot(
plot::Surface(
matrix([cos(t),sin(t),0])
+ numeric::rotationMatrix(t,[0,0,1]) * matrix([(0.2+0.1*sin(2*t))*cos(u),0,(0.2+0.1*cos(2*t))*sin(u)]),
t = -PI/2..PI/2,
u = 0..2*PI,
Mesh = [30,30]),
Scaling=Constrained)
ここ
![output](https://i.stack.imgur.com/CSKUS.png)
に沿った角度パラメータのt
スタンド半円形のベースライン(トロイダル方向)、u
は、断面に沿った角度(ポロイダル方向)です。角度t
で与えられた断面は次のようになります。
[(0.2+0.1*sin(2*t))*cos(u), 0, (0.2+0.1*cos(2*t))*sin(u)]
すなわち、半主軸はチューブの断面に沿って(0.2+0.1*sin(2*t))
と(0.2+0.1*cos(2*t))
です。
z
軸の周りの回転行列を使用してサーフェスを構成していることがわかります。これはベースラインが半円であるという事実を大いに利用した。しかし、一般的なケースでは、(t
に関して)パラメータ化されたベースラインの導関数を計算し、それから必要な回転角度(パラメータt
)を計算することが可能でなければなりません。
これは素晴らしいことです!ありがとうございました。私は今、任意の断面を調べることができます。 – NKN