2010-05-16 4 views
3

Comment générer un treillis 3x3x3 dans Mathematica? Est-il possible de colorer certains points du réseau? Il semble qu'il est possible, mais je ne peux pas le faire fonctionner jusqu'àUtilisation de Mathematica pour générer des réseaux cristallins

http://reference.wolfram.com/mathematica/ref/LatticeData.html

Ce que je veux dire par 3x3x3 est quelque chose comme la figure (c) à droite: http://physics.ucsd.edu/was-sdphul/labs/2dl/exp6/exp63.gif

+1

Essayez-vous générer un treillis, ou créer une image d'un treillis? –

Répondre

3

suis d'accord avec Mark que Ce que vous demandez n'est pas très clair - je suppose que ce sont les chiffres que vous recherchez. Même alors, je ne peux pas vraiment dire s'il y a des généralisations évidentes de la substance FCC/BCC.

Quoi qu'il en soit, de reproduire simplement les chiffres, créer les lignes et vous points avec quelque chose comme

Gridlines[n_] := With[{s = Range[0, n - 1]}, 
    Join @@ (Flatten[#, 1] & /@ 
    NestList[Transpose[#, {3, 1, 2}] &, Outer[List, s, s, s], 2])] 
LatticePoints[name_, n_] := Select[ 
    Tuples[Range[-n, n], 3].LatticeData[name, "Basis"], 
    (And @@ ((# >= 0 && # < n) & /@ #) &)] 

Cela fonctionne pour FCC et BCC:

Graphics3D[{ 
    {Red, Sphere[#, 0.1] & /@ LatticePoints["FaceCenteredCubic", 3]}, 
    Line[Gridlines[3]] 
    }, Boxed -> False] 

enter image description here

+0

Vous pouvez également utiliser ['GraphPlot3D'] (http://reference.wolfram.com/mathematica/ref/GraphPlot3D.html), mais vous devrez peut-être utiliser l'option' VertexCoordinateRules' pour contrôler manuellement la disposition des vertex, et d'autres pour contrôler l'apparence des arêtes et des sommets. –