Making views of 3D object `nest'
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg305] Making views of 3D object `nest'
- From: dmwood at sst.nrel.gov (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 nrel.nrel.gov || 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 :(