MathGroup Archive 1994

[Date Index] [Thread Index] [Author Index]

Search the Archive

Making views of 3D object `nest'

  • To: mathgroup at
  • Subject: [mg305] Making views of 3D object `nest'
  • From: dmwood at (David M. Wood)
  • Date: Thu, 8 Dec 94 16:28:16 MST

Dear Mathgroup,

  I have some spiffy graphics of the electron density in Si, displayed as 
level surfaces (results of ListContourPlot3D) restricted to a single unit
cell (a cube). The result is a 3D Graphics object, basically a view of the 
cube with interesting surfaces inside.  Because they are unit cells of 
the crystal, such cubes would fill all of space. I'd love to display several 
*adjacent* unit cells, to emphasize the periodicity in the crystal.  

 **The problem**: I don't know how to *systematically* change the ViewPoint for
these surfaces so as to assure that the resulting views of the cubes `nest'
properly, i.e., will perfectly fit when butted up against each other.

  My first try was to move the ViewPoint out as far as I could, to suppress
the foreshortening of the cubes which I think is the cause of the failure 
to `nest'.  This helped some, but I couldn't make the ViewPoint far enough 
away for satisfactory results. Ideally, I *want* the foreshortening, since
it helps in the illusion of three dimensionality.

  Tom Wickam-Jones' wonderful new book Mathematica Graphics carefully explains 
how you can coerce Mma into using `user units' [those used in specifying 
x, y, and z ranges via, for example, the MeshRange option], and how the
perspective (foreshortening) depends on a variety of variables the user
can specify.  I'm sure the answer lies somewhere in there, but before I 
invest the time:

1. Has someone developed a simple algorithm or package for systematically 
changing the ViewPoint from one view to the next so that the two different 
views will `nest', i.e., fit perfectly when the cubes are moved together so 
that they share a common face?

2. Is there some operation I can perform on my data, or the three dimensional 
object I'm representing, which will periodically repeat the object to 
achieve what I want?  [The data is already sizeable: numbers on a 
30x30x30 mesh, so anything which increases the size of this matrix is
probably not a good idea.]

Many thanks!

David M. Wood           ||      Solid State Theory Group
dmwood at    ||      Branch 4510 
Phone: (303) 384-6642   ||      National Renewable Energy Laboratory
Fax:   (303) 384-6531   ||      1617 Cole Blvd., Golden, CO 80401-3393
No NeXTMail here please :(      

  • Prev by Date: R.E. Troubles with calculations using HP-UX notebook interface
  • Next by Date: Multidimensional Fourier Transform
  • Previous by thread: R.E. Troubles with calculations using HP-UX notebook interface
  • Next by thread: Multidimensional Fourier Transform