DMUG-Archiv 2009

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Re: Orthographische Projektion eines 3DGraphics durch Millers'sche Indizen.

Hallo Leonardo,

hier ist ein drawIt[] ohne Performanceprobleme; das wird dadurch erreicht, dass die Durchsichtigkeits- und Glanzgimmicks und auch die Polygone aus der Projektion entfernt werden:

(* drawIt *)
drawIt[lat_Integer, mI_List?VectorQ, mode_Integer] :=
 Module[{latD,
   pom = N[IdentityMatrix[3] -
      Outer[Times, Normalize[mI], Normalize[mI]]]},
  If[ mI[[1]] == 0 && mI[[2]] == 0 && mI[[3]] == 0,
   CreateDialog["Miller Indices all zero! Bye."];
   Return[$Failed]
   ];
  Switch[lat,
   0, latD = LatticeData["SimpleCubic", "Image"][[1, All]],
   1, latD = LatticeData["FaceCenteredCubic", "Image"][[1, All]],
   2, latD = LatticeData["BodyCenteredCubic", "Image"][[1, All]],
   _, CreateDialog[
    "Lattice " <> ToString[lat] <> " not implemented! Bye."]
   ];
  Switch[mode,
   0, Show[
    Graphics3D[{latD, {Opacity[0.66], millerPlane[mI]}},
     Axes -> True, AxesLabel -> {"X", "Y", "Z"}]],
   1,
   Show[Graphics3D[
     GeometricTransformation[
      Fold[DeleteCases[#1, #2, Infinity] &,
       latD, {_Specularity, _Opacity, _Polygon, _GrayLevel}], pom],
     Axes -> True, AxesLabel -> {"X", "Y", "Z"}]],
   _, Text["Mode " <> ToString[mode] <> " not implemented!"]
   ]
  ]

Offensichtlich hat Mma (zu Recht) Probleme mit der Durchsicht durch ein Polygon auf ein anderes, wenn beide nicht zueinander bis auf allenfalls eine gemeinsame Kante disjunkt sind.

Schönen Sonntag
Udo.

Attachment: agudoProjection.nb
Description: Binary data

Verweise:
Orthographische Projektion eines 3DGraphics durch Millers'sche Indizen.
Leonardo Agudo, 06.10.2009
Re: Orthographische Projektion eines 3DGraphics durch Millers'sche Indizen.
Udo und Susanne Krause, 11.10.2009

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 13.10.2009 04:08