W. Mathematica-- Gráficos--Hacer esferas

Quiero escribir un programa en Wolfram Mathematica Tenemos dos listas:

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

Y necesito "dibujar" enlaces entre ellos mediante cilindros, por lo que debemos tener

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

¿Cómo puedo hacer esto automáticamente, usando listas: list1 y list2 de este tipo?

preguntado el 22 de mayo de 12 a las 14:05

Por cierto, si tiene más preguntas sobre Mathematica, puede preguntarles en el sitio StackExchange dedicado para Mathematica. -

2 Respuestas

Hay un buen ejemplo en la documentación para GráficoPlot3D que parece que hace lo que quieres hacer, aunque no del todo en la forma en que estás abordando el problema.

contestado el 22 de mayo de 12 a las 15:05

No especificas cuáles son los radios de los cilindros, estoy usando los relativos a la primera lista.

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}]}]]

gráficos3d

contestado el 22 de mayo de 12 a las 15:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.