Schwarz' D Minimal Surface and the {6, 4} tilling

Borislav Angelov
Bulgarian Academy of Sciences
email: bsangelov@yahoo.com

Here is illustrated the construction of Fig.1 from the article:

 Angelova A, Angelov B, Papahadjopoulos - Sternberg B, Bourgaux C, Couvreur P, Protein driven Patterning of self - assembled cubosomic nanostructures : Long oriented nanoridges, JOURNAL OF PHYSICAL CHEMISTRY B, 109 : 3089 - 3093, 2005

Reading the coordinates

SetDirectory["c:/Downloads/tmp/"](* the directory containing ms_hex *)

msh=<<ms_hex.txt;(* file containing the coordinates *)

Choosing the colors

(* Box size *)
s1=msh/.{EdgeForm[],SurfaceColor[RGBColor[b,b,y]],Polygon[x:_]}->x;s2=s1/.{EdgeForm[],SurfaceColor[RGBColor[y,y,b]],Polygon[x:_]}->x;mshmax=Max[s2]

(* Yellow & Blue Color *)
g=Show[Graphics3D[msh/.b-> 0/.y->1],Boxed->True,Axes->True,Lighting->Automatic]

Translations

(* TranslateShape from Graphics`Shapes` package *)
TranslateShape[shape_,vec_List]:=Block[{tvec=N[vec]},shape/.{poly:Polygon[_]:>Map[(tvec+#)&,poly,{2}],line:Line[_]:>Map[(tvec+#)&,line,{2}],point:Point[_]:>Map[(tvec+#)&,point,{1}]}]/;Length[vec]==3

g2=Show[Graphics3D[TranslateShape[msh/.b-> 1/.y->0,{2 mshmax,0,0}]],Boxed->True,Axes->True]

Show[g,g2,ViewPoint->{1.172510,-1.348689,2.862257}]

g3=Show[Graphics3D[TranslateShape[msh/.b-> 1/.y->0,{0,2 mshmax,0}]],Boxed->True,Axes->True];

g4=Show[Graphics3D[TranslateShape[msh/.b-> 0/.y->1,{2 mshmax,2 mshmax,0}]],Boxed->True,Axes->True];

Show[g,g2,g3,g4]

bb=1;yy=0;g5=Show[Graphics3D[{TranslateShape[msh/.b->bb/.y->yy,{0,0,0}],TranslateShape[msh/.b->yy/.y->bb,{2 mshmax,0,0}],TranslateShape[msh/.b->yy/.y->bb,{0,2 mshmax,0}],TranslateShape[msh/.b-> bb/.y->yy,{2 mshmax,2 mshmax,0}],TranslateShape[msh/.b->yy/.y->bb,{0,0,2 mshmax}],TranslateShape[msh/.b->bb/.y->yy,{2 mshmax,0,2 mshmax}],TranslateShape[msh/.b->bb/.y->yy,{0,2 mshmax,2 mshmax}],TranslateShape[msh/.b-> yy/.y->bb,{2 mshmax,2 mshmax,2 mshmax}]}],Boxed->True,Axes->False]