Jenn is a toy for playing with various quotients of Cayley graphs of finite Coxeter groups on four generators. Jenn builds the graphs using the Todd-Coxeter algorithm, embeds them into the 3-sphere, and stereographically projects them onto euclidean 3-space. (The models really live in the hypersphere so they looked curved in our flat space.) Jenn has some basic motion models governing the six degrees of freedom of rotation of the hypersphere.
VJing: Lewis Smart made a couple music vids to show on a projector screen at outdoor electronic dance music parties in Australia.
T-shirts: Mike Anstrell paints Jenn's projections of polytopes on clothing.
3D Printing: (stereolithography) ...anyone have results yet?
What are you doing with Jenn3D?
If you just want to use Jenn, download one of these, unzip, and run.
If you want to compile Jenn yourself, here's the source:
Instructions for compiling:
1. extract and unzip, e.g.
2. edit makefile: specify the target type
3. make
4. run jenn or jenn.exe
#here's an example:
> tar -xzf jenn.2006_07_28.tgz
> cd jenn3d
> vim makefile #or your favorite editor
#...uncomment your compile type...
> make
> ./jenn
You may also need to install the Glut and (optionally) the libpng libraries. Users of Debian-based systems such as Ubuntu or Mac+Fink can get this with
> sudo apt-get install glut
> sudo apt-get install libpng #or libpng3 on for Macs
Gentoo users can simply
> emerge glut libpng
Windows+Cygwin users will need glut32.dll.
Nick Jordan reports:
On a Debian system to get the src dependencies for jenn3d you do:
> sudo apt-get install freeglut3-dev
> sudo apt-get install libpng-dev
as opposed to doing:
> sudo apt-get install glut
> sudo apt-get install libpng
On an amd64 machine, I needed to remove the "-malign-double" flag, before it would compile,
I suppose because a double isn't really a double on 64 bit.
Polytope Models.
A variety of models are availabe to view: regular polyhedra, regular polychora, truncted polytopes, edge-truncated polytopes, snub(?) polytopes, tori (duoprisms), Cayley grahs (omnitruncated polytopes), etc.
My favorite is the bitruncated 120-cell.
Viewing Options.
The scroll wheel (or arrow keys) zoom in and out, and SHIFT+ARROW pans for those hard-to-reach shots.
Full-screen is buggy and can be turned on but not off.
Motion.
The models float around (rotating with six degrees of freedom) with nearly constant velocity.
The motion can be controlled with all three mouse buttons (each fixing a pair of axes of the 3-sphere); spacebar toggles the brakes, which are on by default.
To get some funky motion, or just keep a model in one place, you can enable a spring tying the model to a "center" positon.
If the model moves too fast or too slowly, try slowing down or speeding up.
Flying.
In flying mode, the right mouse button controlls speed and the left mouse button steers direction.
It helps to zoom in, and maybe turn off faces (f) and fatten the edges (+).
Style Options.
Both solid and line-art rendering are available (see style menu or press 'h').
Vertex and edge-drawing can be toggled.
Drawing thickness can be adjusted, and fog can be added to aid depth perception.
Camera.
Models can be viewed in either mono or stereo.
Jenn now allows motion and depth-of-field blurring.
Screen-shots can be taken with extended exposure time and increased rendering quality.
The accumulation buffer also provides high-contrast viewing and color-reversing
Saving. (when compiled with libpng support)
Images can be saved to color or grayscale png images (jenn_capture.png).
Jenn3d can make very large images (&ge 1 GigaPixel) by tiling the images.
But Beware! large high-quality images take alot of time and disk space, e.g. 1 day and 100Megs.
For high quality images like that above, and those on wikipedia, I usually take a picure double-sized and downsample by a factor of two.
Exporting.
You can save 3D mesh models to .STL files with the 'export' button.
Note that toggling between high/low quality in Jenn3D changes the output mesh density (try viewing in wireframe style to see this).
For 3d-printing (stereolithography) you might want to increase the minimum tube radius (after version .&checktime(2008,03,13,':')).
The added radius is not shown in Jenn3D (still on the to-implement queue), so you'll have to view with your favorite STL file viewer to get it right.
Some users have reported good results with Magics and 3dconverter.
Let me know about how exporting works for you.
Bugs.
FAQ
Control:
Choosing a board
This has to be done at the command line. Jenn-Go inputs the six elements of the upper-triangle of a Coxeter matrix and then any subset of the numbers [0-3] deonting which generators are included in the vertex symmetry group.
Some nice boards are listed in jennhelp.txt. Also try
> ./jenn 3 2 2 4 2 3
Feel free to write a network interface; I'll play you.