ola@duke.cs.duke.edu (Owen L. Astrachan) (02/02/91)
I requested information about graphing 4D objects a while ago; many thanks to those that responded. I was quite pleased with the quality of the responses and they were very useful. I'm enclosing a summary of the responses for those interested. ********************* on graphing 4D objects ******************** From: andreess@mrlaxs.mrl.uiuc.edu (Marc Andreessen) Well, I've done it; Thomas Banchoff at Brown has written a book about it (Beyond the Third Dimension; Scientific American Press); Dewdney's talked about it in Scientific American (that was a while back); it is in general a fairly active area of research for CS/math/graphics interdisciplinary types of people (for instance, UIUC Math Prof George Francis). I suggest for reference the Scientific American article (have no idea when it was from, but in the middle 80's, I think), and Banchoff's book. Those ought to give enough basic information (4D rotations, equations for hypercube/sphere) to get up to speed in a short time, with a good graphics computer. What I've done is used a general method (on the IBM RS/6000) of integrating 3D (provided through the SGI-compatible GL) and interactive control (via sliders, toggles, etc from X Windows and Motif), and adapt the program for hypercube, hypersphere, some Klein-bottle-type surfaces (eg Francis' Etruscan Venus) and even datasets deriving from computer simulations of phonon scattering. --------------------------------------------------------------- From: T Marc Olano <olano@cs.unc.edu> There's been some work by George Francis, Donna Cox, and Ray Idazak at the National Center for Supercomputing Applications at the University of Illinois with some 4D Klein bottles. George is a topologist, Donna an artist, and Ray was the programmer. It was all done on a Silicon Graphics machine about four years ago. They produced an animation showing deformations within the "Romboy Homotopy" from Steiner's Roman surface to Werner Boy's surface. Ray is at NCSC here in the triangle now (rayi@ncsc.org). George and Donna are both still at NCSA (gfrancis@ncsa.uiuc.edu and cox@ncsa.uiuc.edu) except Donna is usually very busy. The paper I have a copy of is Donna Cox, "Using the Supercomputer to Visualize Higher Dimensions: An Artist's Contribution to Scientific Visualization", Leonardo 1988 vol 21 no 3, pp 233-242 which is not very big on technical details (Leonardo is an art journal after all). Possibly useful references from this article (I haven't seen them): George Francis, "Mathematical Graphics in Transition: Freehand and Computer", p 2 of a technical report presented at the conference on Computer Geometry, Tektronix Labs, Beaverton, Oregon, 14 June 1985 George Francis, _Topological Picturebook_, New York, Springer Verlag, 1987 ------------------------------------------------------------------------- From: Paul Crowley <aipdc@castle.edinburgh.ac.uk> I sent you source code for a program which generates graphic 4d images without any explanation as to what it is or how it works. Basically, the idea is this. The theory behind all perspective drawings is that the screen is like a window onto an image. If we imagine some image behind the screen and an eye in front, then each point in the 3d image corresponds to the point on the screen that lies on the line between the eye and the point in the 3d image. Now imagine a 3d screen. Shapes in a 4d image can be "drawn" on the 3d screen by an exactly analogous process and it is not hard to show that in the 4d->3d case as in the 3d->2d case, the corresponding point is found by dividing by the depth. The usual wireframe image of a tessaract as one cube inside another may be considered a perspective drawing of a tessaract, in which the inner cube is smaller because it is further away, just like a drawing of a cube which looks like this: +---------+ | \ / | | +---+ | | | | | | +---+ | | / \ | +---------+ The program is made up of various parts: * A function to read a description file into an array of vertices and an array of edges * A toolkit of rotation matrix manipulation functions * A routine which applies a rotation to the array of vertices in 4d space and folds them first into 3d and then into 2d, storing the results in another array * Routines to take the other array and display it on either an X-terminal or a Tektronic terminal, depending on whether X or TEK is #defined at compile time (ignore the routines marked "BBC" unless access to BBC Micros being used as terminals is much easier for you than access to either of the above, in which case mail me) Now at the moment the program is set up to spin the shape randomly, which is pretty but makes little sense. When I get access to a graphics terminal I'll modify it to do something I can explain and send you the diff file. -------------------------------------------- From: beshers@division.cs.columbia.edu (Clifford Beshers) Sure has been done. Here's a few entries from the bibliography of my Graphics Interface '88 paper. I would recommend the Noll article. If you can do TeX, I can send you the source for my paper, which might also help some. @Inproceedings{Beshers88, author = "Beshers, Clifford and Feiner, Steven", title = "Real-time 4{D} Animation on a 3{D} Graphics Workstation", booktitle = "Proceedings of Graphics Interface", year = "1988", pages = "1-7", month = "June", year = "1988", OPTnote = "" } @Article{Feiner82, author = "Feiner, Steven and Salesin, David and Banchoff, Thomas", title = "Dial: {A} Diagrammatic Animation Language", journal = "IEEE Computer Graphics and Applications", year = "1982", OPTvolume = "", OPTnumber = "", pages = "43-54", month = "September", OPTnote = "" } @Article{Carey87, author = "Scott A. Carey and Robert P. Burton and Douglas M. Campbell", title = "Shades of a Higher Dimension", journal = "Computer Graphics World", year = "1987", OPTvolume = "", OPTnumber = "", pages = "93-94", month = "October", OPTnote = "" } @Inproceedings{Blinn78, author = "Blinn, James F. and Newell, Martin E.", title = "Clipping Using Homogeneous Coordinates", booktitle = "SIGGRAPH '78 Proceedings, published as Computer Graphics", year = "1978", volume = "12", number = "3", pages = "245-251", month = "August", OPTnote = "" } @Article{Clark82, author = "Clark, James H.", title = "The Geometry Engine: {A} {VLSI} Geometry System for Graphics", journal = "Computer Graphics", year = "1982", volume = "16", number = "3", pages = "127-133", month = "July", OPTnote = "" } @Inproceedings{Banchoff78, author = "Banchoff, Thomas F.", title = "Computer Animation and the Geometry of Surfaces in 3- and 4-Space", booktitle = "Proceedings of the International Congress of Mathematicians", year = "1978", volume = "2", OPTnumber = "", pages = "1005-1013", OPTmonth = "", OPTnote = "" } @Misc{Banchoff87, author = "Banchoff, Thomas F.", title = "Using Computer Graphics to Explore the Generation of Surfaces in Four Dimensional Space", howpublished = "Discovering the Fourth Dimension, published by Prime Computer, Inc.", year = "1987" } @Article{Dewdney86, author = "Dewdney, A.K.", title = "Computer Recreations", journal = "Scientific American", year = "1986", OPTvolume = "", OPTnumber = "", pages = "14-23", month = "April", OPTnote = "" } @Article{Noll67, author = "Noll, Michael A.", title = "A Computer Technique for Displaying n-Dimensional Hyperobjects", journal = "Communications of the ACM", year = "1967", volume = "10", number = "8", pages = "469-473", month = "August", OPTnote = "" } @Book{Gardner77, author = "Gardner, Martin", title = "Mathematical Carnival, Chapter 4: Hypercubes", publisher = "Vintage Books", year = "1977", OPTeditor = "", OPTvolume = "", OPTseries = "", address = "New York", OPTedition = "", OPTmonth = "", OPTnote = "" } @Book{Sommerville58, author = "Sommerville, D.M.Y.", title = "An Introduction to the Geometry of N Dimensions", publisher = "Dover Publications, Inc.", year = "1958", OPTeditor = "", OPTvolume = "", OPTseries = "", address = "New York", edition = "1", OPTmonth = "", OPTnote = "" } @Book{Coxeter69, author = "Coxeter, H.S.M.", title = "Introduction to Geometry", publisher = "John Wiley and Sons, Inc.", year = "1969", OPTeditor = "", OPTvolume = "", OPTseries = "", address = "New York", edition = "2", OPTmonth = "", OPTnote = "" } @Book{Abbott52, author = "Abbott, Edwin A.", title = "Flatland", publisher = "Dover Publications, Inc.", year = "1952", OPTeditor = "", OPTvolume = "", OPTseries = "", address = "New York", OPTedition = "", OPTmonth = "", OPTnote = "" } ------------------------------------------------------------- From: Robert Kelley <rjk@sequent.com> Dr. Thomas Banchoff at Brown University likes this sort of thing. Prime Computer used to distribute a paper by him about it, maybe they still do. ------------------------------------------------------------- From: Mike Brindley <brindley@ECE.ORST.EDU> A.K. Dewdney writes a column for Scientific American called 'Computer Recreations'. A few years ago ('86? '87?) one of those columns talked about displaying 3-D slices of a hypercube. This would be a good place for your student to start. I beleive it was an April issue as the column starts out with a rather wild story about people dissapearing into the 4th dimension. Those Scientific Am. columns are collected every so often and published in book form. The first one was called 'The Armchair Universe,' by A.K. Dewdney, pub: W.H. Freeman (of course). I beleive a second one was just published. ------------------------------------------------------------- From: Neal Miller <millernw@clutx.clarkson.edu> I *do* have a program called tumble.exe that rotates 4-D shapes around various planes. It uses the stereoscopic principle to make a 3-d effect. You have you stare at two images until they appear to merge into a 3-d image (the two images are deliberately out of sync). There's plenty of docs, both instruction and information. I'll uuencode and send it if you are interested. ------------------------------------------------------------- From: Peter Yamamoto <pjyamamoto@watdragon.waterloo.edu> I recall seeing a video/film presentation by a professor from Brown University (I beleive) doing stuff like that. Couple/Several of his students went to work at ILM/etc. Sorry no more details, hope this helps you get a little closer. I would apprecitae hearing the results if you do succeed. ------------------------------------------------------------- From: billa@tdo.sps.mot.com (William Archibald) There is a popular book in the States published a couple years ago called the "Armchair Universe". [My copy is still in the States, so I don't recall the authors name, but he writes the computer recreation column for Scientific American(??)] This has a lot of stuff on cellular automata, and has a chapter on displaying hypercubes using lines on a personal computer. If your friend wants to go beyond that, there is a wonderful book with lots of color photographs by a fellow named Bancroft. It has shaded color images of 3d slices of 4d space. It also has several series of images from animations that were generated by the author. The author must be contacted for in depth technical information, but generally a good linear algebra book to give information on n-space affine transformations, a computer-graphics book to give information on shading spheres (Alan Watt is a good bet here) and the photographs from Bancroft should be enough to get him started. The title of the Bancroft book is given in the 'Armchair Universe'. Video tapes are also available from Mr. Bancroft. The computer graphics book by Alan Watt is the introductory 3d graphics book published by Addison- Wesley. There was another book scheduled to be published by he and his brother in late 1990 by Addision-Wesley on advanced rendering techniques, but that isn't the one you want. Good Luck, -------------------------------------------------------- From: Eric Golin <golin@cs.uiuc.edu> Message-Id: <9101162341.AA22574@m.cs.uiuc.edu> To: ola@duke.cs.duke.edu Subject: RE: graphic 4-D images Status: R I know that Tom Banchoff at Brown university (Math dept., I think, or maybe applied math dept.) did a good deal of work in this area. I've seen (long ago) some movies he made of 4-dimensional objects. I'm afraid I don't have any references, though. ------------------------------------------------------ From: jorice%maths.tcd.ie@pucc.PRINCETON.EDU This isn't much, but I just saw some animations done by the Visualisation Lab at Indiana University on shading of four-dimensional objects. Looked really good, though I didn't understand what exactly I was seeing. They had this sort of pinched egg shape rotating and changing and doing very weird things. If you can contact someone there they could probably give you lots of good info. Their proper title is not "the Visualisation Lab", actually - it's some forgettable, bland thing - "Center for ..." is all I can remember - "C???" - 4 letters. If you're interested, I can get the proper title for you and probably also a contact name there. ------------------------------------------------------ From: winters@pdn.paradyne.com (John Winters) Sure, I did it in 1969/1970 at M.I.T. I was the first guy to do a 4-d cube on the computer. Then I did 8-d cubes. Today, I do 12-d cubes. I did an animation in real-time using a vector generator and line drawings. Also featured perspective from 4 to 3 d, hidden line blinking, dashing, removal, or left it. It was fun and I spent years on the various versions over the years. Guys who did it after me grabbed all the glory. So what. If you want to know how to do it, I did it when the guys at M.I.T. said it could not be done!