0

Wolfram Mathematica でプログラムを書きたい 2 つのリストがあります :

list1 = {Sphere[{x1}],Sphere[{x2}],Sphere[{x3}],Sphere[{x4}],Sphere[{x5}]}
list2 = {Sphere[{y1}],Sphere[{y2}],Sphere[{y3}],Sphere[{y4}],Sphere[{y5}]}

そして、それらの間の結合を円柱で「描く」必要があるため、

list3={Cylinder[{x1,y1}],Cylinder[{x2,y2}],Cylinder[{x3,y3}],Cylinder[{x4,y4}],Cylinder[{x5,y5}]}

list1 と list2 のような種類のリストを使用して、これを自動的に行うにはどうすればよいですか?

4

2 に答える 2

2

GraphPlot3Dのドキュメントには、問題にアプローチしている方法で完全にではありませんが、やりたいことを実行しているように見える良い例があります。

于 2012-05-22T14:01:09.343 に答える
1

円柱の半径を指定していません。最初のリストに関連するものを使用しています。

centers1 = {{1, 1, 1}, {2, 2, 2}, {3, 3, 3}};
radii1 = {0.2, 0.3, 0.4};
centers2 = {{1, -1, 1}, {2, -2, 2}, {3, -3, 3}};
radii2 = {0.3, 0.3, 0.3};

list1 = Sphere[Sequence @@ #] & /@ Transpose[{centers1, radii1};
list2 = Sphere[Sequence @@ #] & /@ Transpose[{centers2, radii2}];

Show[Graphics3D[{list1, list2, Cylinder[Sequence @@ #] & /@ Transpose[{Transpose[{centers1, centers2}], radii1}]}]]

グラフィックス3D

于 2012-05-22T14:09:39.283 に答える