2010-05-16 5 views
3

Mathematica에서 3x3x3 격자를 어떻게 생성합니까? 격자 점의 일부를 색칠 할 수 있습니까? 가능하다는 것을 보이지만 지금까지Mathematica를 사용하여 수정 격자 생성

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

내가 3x3x3 의미하는 것은 오른쪽 그림 (다)와 같은 뭔가가 동작하지 않습니다 : http://physics.ucsd.edu/was-sdphul/labs/2dl/exp6/exp63.gif

+1

당신이하려고하는 격자를 생성하거나, 격자의 그림을 만들 수 있습니까? –

답변

3

마크에 동의해야 그 당신이 무엇을 요구하고 있는지 분명하지 않습니다 - 나는 그것이 당신이 추구하는 모습이라고 가정 할 것입니다. 그럼에도 불구하고, FCC/BCC 관련 자료에서 명백한 일반화가 있는지 실제로 알 수는 없습니다. 어쨌든

, 그냥이 FCC와 BCC 작동

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) & /@ #) &)] 

같은 것을 자신을 라인을 작성, 수치를 복제하고 포인트 :

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

enter image description here

+0

['GraphPlot3D'] (http://reference.wolfram.com/mathematica/ref/GraphPlot3D.html)를 사용할 수도 있지만 꼭지점 레이아웃을 수동으로 제어하려면'VertexCoordinateRules' 옵션을 사용해야 할 수도 있고, 가장자리 및 정점의 모양을 제어합니다. –

관련 문제