Small Stella Manual
Last updated 2nd August 2008.
The latest version of this manual can be found online at
http://www.software3d.com/StellaManual.php?prod=small.
This manual contains instructions to get you started using Small Stella.
It covers most features, and after reading this document you should be able to
find your way around most of the interface.
If you get stuck, feel free to ask questions on the Stella forums at
http://www.software3d.com/Forums.
The program includes Platonic, Archimedean, Kepler-Poinsot and Johnson solids,
some Stewart toroids, and other models.
The default window layout has two views side-by-side, showing the
base polyhedron on the left and its net (or one of its nets) on the
right. The default base model is the icosahedron.
Use the Right and Left arrow keys to change to the
next/previous model in the built-in list (or the menu items
"Poly->Next Polyhedron" and
"Poly->Previous Polyhedron", or the green left and right arrow
buttons on the main toolbar or at the top of some views). Note: if
you have loaded a .stel file, then the arrow keys move forward and
backward through files in the same folder instead. Furthermore, the arrow
keys, unlike the green arrow buttons and menu items, are context
sensitive. That is, they behave differently depending on what type of view
is currently active. If the current view has yellow arrow buttons at the
top, then they performs the function of those instead. See more about yellow
arrow buttons later. You can also use Ctrl+Left and
Ctrl+Right to go to the previous/next model, regardless of the
selected view (they behave exactly like the green arrow buttons).
The built-in list is divided into categories. You will see the current
category and model name displayed in the main toolbar. Clicking on either of
these names opens a list of other categories or models to choose from,
providing another way to select a model.
You may also open a separate window for looking through the built-in list
and choosing a specific model. To open the list, use menu item
"File->Polyhedron List...", hit Ctrl+N, or click the
equivalent button on the main toolbar. A window opens showing a list of
categories on the left, and a list of models from the current category on the
right. Select a category, then select a model, and click OK or hit
Enter. The selected model and its net should appear on the screen.
The categories are as follows:
- Platonic: The five convex regular polyhedra.
- Archimedean: The 13 convex uniform (but not regular) polyhedra.
- Kepler-Poinsot: The four nonconvex regular polyhedra.
- Prisms/Antiprisms: Convex uniform polyhedra with dihedral symmetry.
Includes prisms and antiprisms.
- Johnson Solids: The 92 remaining convex regular-faced polyhedra.
- Near Misses: Some models that are "almost" Johnson solids. In each
case some of the faces are not quite regular.
- Stewart Toroids: Regular-faced polyhedra with genus greater than
zero, i.e. with holes. Most are not self-intersecting. A few regular-faced
polyhedra with genus zero are included. Stewart used these as building blocks
for some of his toroidal models. See Stewart's book
Adventures Among the Toroids for more information.
- All Categories Above: All the above models in one long list.
- Stella Library: This category contains extra models that are
not actually built into the program, but rather come from an additional library
of models provided with Small Stella. These reside in a folder called
"SmallStellaLib" under the folder where Small Stella is installed.
You can add your own .stel files to the folder and they will also
appear in this category. The library includes some popular compounds (5 cubes,
5 octahedra, 2/5/10 tetrahedra) and a collection of geodesic domes and spheres.
Finally, if you know the symbol or name of the model you want, you
can enter it directly. Again, open the polyhedron list
("Poly->Polyhedron List...") and you'll find a text entry
field at the top. Type in the symbol or name of a polyhedron. Symbols for
uniform polyhedra may be any of the following:
- Vertex descriptions (separated by either commas or dots). E.g.
"4.4.4" (cube)
or "(3.3.3.3.3)/2" (great icosahedron).
- Wythoff symbols. E.g. "3 | 2 4" (cube)
or "5/2 | 2 3" (great icosahedron).
- Index in Magnus Wenninger's book Polyhedron Models, entered with a
"W" prefix. E.g. "W3" (cube)
or "W41" (great icosahedron).
- Index from Roman Maeder's list at
http://www.mathconsult.ch/showroom/unipoly/list.html,
entered with a "U" prefix (or "M"). E.g. "U6" (cube)
or "M53" (great icosahedron).
- Index from Zvi Har'El's Kaleido program, entered with a "K" prefix.
E.g. "K11" (cube)
or "K58" (great icosahedron).
Other models use different notations. For example, enter "J4" for the
square cupola, one of the Johnson solids. This provides a very quick way to
jump to a particular Johnson solid if you know its number.
You may also enter the name of a polyhedron. It can be either the full
name (including known alternative names and dual names), a substring in the
name, or an abbreviation for the name using either the first letter from each
word, or the first letter from each part of each word. Some examples:
- "Cube". Case is ignored, so "cube" or "CUBE" will also work.
- "T", "O", "C", "I", "D". Abbreviations for the Platonic solids:
tetrahedron, octahedron, cube, icosahedron and
dodecahedron.
- "CO". Abbreviation for cuboctahedron.
- "RTC". Abbreviation for rhombic triacontahedron.
Since this is the dual of a built-in model, rather than being a built-in model
itself, the icosidodecahedron is the model that will be loaded, but you can see
the RTC in the dual view.
Every polyhedron has a dual, which won't be explained fully here, but
you may think of it as the model's opposite. It has the number of faces
and vertices swapped with respect to the original model, and the same number of
edges. The dual of the dual brings us back to the original model again.
Hit "d" to switch between the base polyhedron and its dual. The
net will also change.
The mouse does many different things, depending on what mode you're in,
which view you're in, whether you're holding down the left/right/both mouse
buttons, and whether you're holding down Shift/Ctrl/Neither/Both/Space. Watch
for the tips in the bottom right hand corner, which show you what the mouse
buttons do in the current mode. The tips change when you hold down
Shift/Ctrl/Neither/Both/Space. They may also change when you move the pointer
from one view to another. Even I forget what the mouse can do in some modes,
so these on-screen tips help a lot!
Sometimes just clicking is required (e.g. Shift+Left-click
to select a face). Sometimes dragging in 2D is required (e.g.
Left-Drag to tumble the polyhedron). And sometimes dragging in 1D is
required (e.g. Right-Drag to zoom in/out).
All basic navigation is done with the mouse and no need to touch the keyboard,
except for some less common movements. These mouse controls generally continue
to work in different modes too.
In a 3D view:
- Left-drag: tumble/rotate
- Right-drag: zoom in or out
- Left+Right-drag: twist (rotate around the viewing axis).
Left+Right-drag means to hold down both the left and right mouse buttons while
moving the mouse.
Tumbling and twisting both have mouse inertia, so you can release the
mouse buttons while dragging and the model will continue to tumble or twist.
Similarly in a 2D view:
- Left-drag: pan sideways
- Right-drag: zoom in or out
- Left+Right-drag: twist (rotate)
With 2D views, zooming zooms in on the point where the mouse was when you first
clicked the right button, so you can zoom in on a specific point. As with 3D
views, twisting has mouse inertia.
A couple of more advanced navigation controls are available in 3D views.
Hold down the Space bar and you'll notice the mouse-tips in the bottom
right corner change:
- Space+Left-drag: move sideways
- Space+Right-drag: change field-of-view. This affects how
strong the perspective effect is.
You may also switch each view between perspective and orthogonal projections
by ticking/unticking "View->Orthogonal View" (keyboard shortcut:
o). Perspective views are what we see in the real world, where things
closer to the camera appear to be larger. Orthogonal views are like
architectural plans, where distance from the camera does not affect the
apparent size of objects.
Finally, you can use items on the "View->Camera" submenu to
store and recall camera positions. The field-of-view and
perspective/orthogonal setting are also stored.
In the default mouse selection mode (see below), faces and
vertices may be selected with the mouse.
Faces may be selected by pointing the mouse at them and double
Left-clicking or doing Shift+Left-click. The
selected face is highlighted in white and will partly show through other faces
(try rotating the model so that the face is on the other side). Only one face
may be selected at a time. Many operations work on the current face,
which is either the selected face, or the most recently selected face if no
face is selected. If you have not yet selected a face, then the first face is
the current face.
Vertices may be selected by pointing the mouse at them and double
Right-clicking or doing Shift+Right-click.
The selected vertex is highlighted with a white dot, and half of each
surrounding edge is also highlighted. These show partly through other faces.
This also selects the corresponding face of the dual model, which will also
become highlighted if you have a dual view open.
Selecting a vertex is useful in a few situations, such as when you have a
vertex figure view open and want to choose which vertex figure to look
at.
Faces and vertices can also be selected via the Info
window.
There are four toolbars arranged in three rows, with two in the last row.
They may be dragged and docked to different sides of the window, or dragged
away into a separate window. Their positions will be remembered between
sessions. The toolbars are:
- Main toolbar: the top toolbar. Provides buttons for file
opening/saving, selecting polyhedra from the built-in list, and printing.
- Options toolbar: below the main toolbar. Provides buttons for
various options and operations.
- Mode toolbar: left-hand toolbar under the options toolbar.
Contains buttons for changing the current mouse-selection mode,
which affects what the mouse does when holding down Shift and/or
Ctrl and clicking a mouse button. Normal navigation with the mouse
remains unchanged. Exactly one of these buttons will be pushed in at any time,
indicating the current mode. A helpful message appears when entering any mode
other than the default mode, and don't forget to keep an eye on the mouse tips
in the bottom right corner of the main window to see what the mouse does. You
can hit Esc to return to the default mode. See
Mouse Selection Modes for more information about modes.
- View toolbar: right-hand toolbar under the options toolbar.
Contains buttons that change the current view to a different type. Exactly
one of the buttons on the view toolbar will be pushed in at any one time,
indicating the current view type. Try clicking through the different buttons
to see all the different kinds of view.
The buttons all have tool-tips, so if you place the mouse over a button
and don't move for a moment, a small description of the button appears.
In addition, there are further buttons in the top right corner of each view.
The buttons that appear depend on the type of view. Yellow left or right
arrow buttons are for changing to the previous or next item that this view type
can display. For example, in the 2D net view, these buttons cycle through the
various nets required. If the current view has yellow arrow buttons, then you
can use the left and right arrow keys on the keyboard to perform the same
function.
There is a special window for displaying information about the current
polyhedron. There are three ways to open or close it: via the
"View->Model Info" menu item; via the equivalent toolbar button on
the options toolbar; or by simply hitting "i" on the keyboard.
Information includes number of faces, vertices and edges, number of edges
that must be cut/folded/glued to make the model, alternative names for the
model (if any) and lots of other info. It is presented in a tree structure,
where collections of similar data are grouped together. A small "+" or "-"
sign beside each item may be clicked with the mouse, allowing each section
to be expanded to show all the data in that group, or collapsed
to hide the data. Which groups are expanded or collapsed is remembered between
sessions, so the data presented will always be the data of most interest to
you.
You can Right-click on information that may be edited to edit that
item. Most items can't be edited, but ones that can include the model's name,
the dual's name, comments about the model, the radius, and the volume.
Open the face types or vertex types sections to see a list of these types.
You can Left-click on a type to select a face or vertex of that type
in the main view. Similarly, when a face or vertex is selected another way,
the matching entry in the Info window will be highlighted.
This window starts off docked to the right hand side of the main window, but
like the toolbars, it may be dragged to dock elsewhere in the main window, or
dragged away into a free-floating window of its own. The position is
remembered between sessions.
By default there are two views, one showing the base polyhedron, and one
showing its net. You may choose a different layout by using Ctrl+1
to Ctrl+6, depending on how many views you want. For example
Ctrl+4 will give you a four-view layout. Repeatedly hitting
Ctrl+4 will cycle through all the different four-view layouts
available.
Once you have the layout you want you can choose what kind of views are
shown by selecting each view in turn (by clicking in them or on their title
bars) and hitting one of the buttons on the view toolbar (or choosing from the
bottom section of the View menu).
You may expand any view temporarily to become full-screen using
F2 or "View->Full Screen". The active view then takes over the
screen and all menus, toolbars and borders are hidden. It can be nice to view
models this way with no other distractions. To exit this mode, hit F2
again, or hit Esc. Any operation that opens a dialog box will also
force an exit from full screen mode (e.g. opening a file with Ctrl+O).
When you save a .stel file
(not available in the demo)
your layout and view types are also saved, and restored when the file is
opened another time. If you wish to open a file without changing the current
view layout, use "Options->Keep Layout when Opening Files". Once
ticked, you may continue to open further files without the layout being
affected.
There are six types of view which show smooth morphing between a
model and its dual. Select one of these view types from the view toolbar,
or from the "View->View Duals Morphing" submenu.
Use Ctrl+Left-Drag to morph between the two in these views. There's
also mouse inertia on this function, so you can release the mouse button
while dragging and the morphing will continue on its own.
Note: the demo version will not allow morphing for certain models.
This morphing may not act perfectly between all pairs of models. Some
methods cause parts to get flatter and flatter until they disappear, which
appears to be an error, but isn't really.
Another type of view is the Unfolded Net view. Use PageUp and
PageDown to move through the list of nets required. Hit Ctrl+P to
print the net (or to print any other view type, but make sure you have the
appropriate view selected first!).
The demo version will only allow you to print nets for the five Platonic
solids, but it will still let you see a print-preview of nets for any model.
Nets are laid out differently for printing from how they appear on the screen,
in an attempt to fit as many nets onto each page as possible. You get a dialog
full of options for printing nets, but you can ignore most of these to start
with and just click on "Preview" (or hit Enter).
There's also a Folding Net view. This can show you the nets in 3D, folding up into
the final model and unfolding again into separate flat nets. Use
Ctrl+Left-drag to interactively fold and unfold the nets.
Mouse inertia applies here too, which means if you release the left
mouse button while still moving the mouse, the folding/unfolding will continue
on its own at the current rate.
When unfolding, first the folded nets move apart from each other, then they
each unfold individually. Ctrl+Right-click jumps to the
point between these two stages, or just folds the net half-way if there is only
a single net.
The "Nets->Nets Shown in 3D View" submenu gives you control over
what is shown in the Folding Net view. Your options are:
- Show All Nets
- Show One Type of Net
- Show One Net
This submenu contains the following options:
- Auto: Automatically choose between the two options below. Mixed
colors are used when the model is convex or has images on its faces. Otherwise
only a single color is permitted per net.
- One Color per Net/Page: Only allow faces of a single color in each
net and on each page of paper when printing. Use this when printing onto
colored paper, as I usually do.
- Allow Mixing of Colors: Faces of different colors may be combined
into single nets and printed onto the same pages. Use this if you want to use
white paper and a color printer to fill in the faces.
When mixing of colors is not permitted within nets, only nets of a single
color will be printed at any one time. For example, if there are red, yellow,
and blue pieces, and you are currently viewing a yellow piece in the Unfolded
Net View, then printing will only print yellow nets. It will print all the
yellow nets though, not just the one you are viewing, and it will try to pack
them all together as best it can. The print-preview lets you see how many
pages there are, so you just put that many pieces of yellow paper in the
printer tray (use manual feed for thicker paper and to reduce curling). Then
you use PageUp or PageDown to change to a net of another
color in the Unfolded Net View, and print again with different colored paper,
and so on for each different color.
Before printing out nets, you are going to want to decide how big to make your
model. This is what the items on the "Scale" menu are for. They let
you change the scale of the whole model by specifying the length of certain
features, such as edge length or radius. Note: the model does not get bigger
or smaller on the screen, but printed nets
will reflect the change in scale. Here's what the items on this menu do:
- Fit Nets to Pages
This adjusts the scale of the current model so that the largest net just fits
on a page. Use this if you want to make the model as big as possible, given
the nets you want to print out.
- Base Polyhedron Radius...
Tells you the radius of the base polyhedron, and lets you change it.
- Base Polyhedron Edge Length...
Tells you the edge length of the base polyhedron, and lets you change it. If
edges are of more than one length, it tells you the range, and lets you change
the maximum edge length.
- Base Polyhedron Inradius...
Tells you the inradius of the base polyhedron, if it has one. The inradius is
the radius of a sphere that just touches each face plane (that is, the face
planes are tangent to it). If there is not a single inradius, then it shows
you the distance of the selected face plane from the model's centre. You can
edit the value in either case to change the scale of the model.
- Base Polyhedron Volume...
Tells you the volume of the base polyhedron, and lets you change it.
- Dual Radius...
Tells you the radius of the dual polyhedron, and lets you change it.
- Dual Inradius...
Tells you the inradius of the dual polyhedron, and lets you change it.
- Dual Volume...
Tells you the volume of the dual polyhedron, and lets you change it.
- Midradius...
Tells you the midradius of the polyhedron, and lets you change it. This value
is really the radius of the sphere used for reciprocation (the process used to
create the dual). For uniform polyhedra (e.g. Platonic and Archimedean solids)
it will be the midradius, i.e. the distance from the model's centre to lines
through each of its edges. For other models it may be an approximation, as
such models may not have a single midradius.
- Shortest Edge Length...
Tells you the length of the shortest required in the nets, and lets you change
it. This is useful because edges become too fiddly when they're too small. I
always check this before making a model.
- Measured Distance...
Tells you the radius of the current measured distance when using
"Measurement Mode", and lets you change it.
- Non-Uniform Scale...
This item is different from the others above. Rather than just setting the
size of the model for which nets are printed, this item actually changes the
model, by stretching or squashing it in some direction. You may choose to
scale it along one of its symmetry axes, or perpendicular to the selected face.
- Distance Units
Lets you choose what units to use for distances. Available units are:
millimetres, centimetres, metres, inches and feet.
- Angle Units
Lets you choose what units to use for angles. Available units are:
degrees (decimal), degrees/minutes/seconds and radians. This affects how
angles are displayed when using "Nets->Show Edge Data->Dihedral
Angles", for example.
Most operations can be undone and redone, including changing to a new model,
changing the scale of the model, and changing face colors and images. Use
"Edit->Undo" (keyboard shortcut: Ctrl+Z) to undo, and
"Edit->Redo" (keyboard shortcut: Ctrl+R) to redo. Both
operations are also available on the main toolbar. If you
Right-click on either button, you'll see a menu of the last 20
operations that can be undone/redone. Select one to perform multiple
undos/redos in a single step.
See also "Edit->Undo Settings" for various options that control
the undo mechanism. You may limit the amount of memory used, and the number of
undo levels available.
The following options are available for controlling the display of vertices and
edges. They are found on the "Display->Vertex & Edge Options"
submenu. All settings are remembered after you exit the program for next time.
- Show Vertices (keyboard shortcut: v).
Enable this option to display a small point or sphere at each vertex of the
model.
- Show Edges (keyboard shortcut: e).
Enable this option to display a line or cylinder along each edge of the
model.
- Size for Drawing Vertices. Allows you to adjust the size of the
points displayed at each vertex.
Tip: Right-click on the Show Vertices toolbar button to
open a small menu where you can quickly choose this option.
- Line Width for Edges. Allows you to adjust the width of lines
displayed along each edge.
Tip: Right-click on the Show Edges toolbar button to
open a small menu where you can quickly choose this option.
- Use Spheres and Cylinders. Select this option to display
spheres and cylinders rather than points and lines at vertices and
edges respectively.
- Sphere and Cylinder Options. Opens a window allowing control of
various options for displaying spheres and cylinders. The window is
modeless, so you can still use the rest of the program while this
window is open, and immediately see the effects of your changes. You may
specify the material used (solid color, gold, silver, copper, wood or
stone). You may also set the radius of the spheres and cylinders. The
cylinder radius is set as a fraction of the sphere radius (e.g. 0.5 for
half the radius). The sphere radius is also set as a fraction of another
value. That value may be chosen from the following choices:
- Inverse square root of number of edges. This may sound like a
somewhat arbitrary choice, but I found it through much experimentation and
it works very well for a wide range of models. Generally, the more
edges there are, the smaller you want the spheres, which is what this
achieves. For this reason it is the default setting.
- Edge length of model. You may want the cylinder radius to be
proportional to the edge length.
- Radius of model. Here the sphere radius is proportional to the
physical size of the model, but not the complexity.
Tip: Right-click on the Use Spheres and Cylinders toolbar
button to quickly open this options window.
The Display menu includes a group of items for hiding or showing
faces. Most of these require you to select a face first (see
Selecting Faces and Vertices).
- Show/Hide Faces of Selected Color (keyboard shortcut: h).
The selected face is hidden along with all other faces of the same color. If
any were already hidden, then they are all unhidden instead.
- Show/Hide Faces of Selected Type (keyboard shortcut: Shift+H).
The selected face is hidden along with all other faces of the same type. If
any were already hidden, then they are all unhidden instead.
- Show/Hide Selected Face (keyboard shortcut: Ctrl+H).
The selected face is hidden. If it was already hidden, then it is unhidden
instead.
- Show/Hide All Faces (keyboard shortcut: Ctrl+Shift+H).
All faces are hidden. If any were already hidden, then all faces are unhidden
instead.
- Show/Hide Faces in Selected Plane. Hide all faces in the same plane
as the selected face. If they are all hidden already, then they are all
unhidden.
- Show/Hide One Part of Compound. Hide one whole part of a compound
(the one with the selected face). If already hidden, it is unhidden instead.
- Toggle Shown/Hidden Faces (keyboard shortcut: Ctrl+Shift+T).
All hidden faces become unhidden, and all unhidden faces become hidden. This
is useful when you want only a few faces displayed: start by hiding the faces
of interest, then toggle so that all other faces are hidden instead.
Similarly, unhiding a specific face can be tricky since you can't select it
with the mouse. Start by toggling all hidden faces, then select the face of
interest and hide it, then toggle again.
- Show/Hide Faces Around Vertex (keyboard shortcut: Ctrl+Shift+V).
All faces around a specific vertex are hidden. If any were already hidden,
then they are all unhidden instead. A window appears allowing you to enter the
index of the vertex to use. If you select a vertex first with the mouse, then
the index will default to that vertex, so you can just click OK or hit
Enter.
Note, the hidden attribute of a face can also be copied quickly between
faces using the mouse. See Color/Hide Faces Mode.
Models may be colored in various ways. This section describes the items on
the Color menu.
- Rainbow Color Mode (keyboard shortcut: Shift+R).
This turns Rainbow mode on and off. Rainbow mode overrides all
other color settings. It draws models in white only, but uses three
lights in the colors red, green and blue. This makes the faces change to
all sorts of colors as a model is rotated, and makes it easy to
distinguish between faces. It is similar to the coloring style used by
the program Mathematica.
- Basic Color Scheme. This submenu lets you choose the basic
color scheme that will be used to color the faces. There are three
groups of options here:
- Exactly one option at a time may be selected from the first group.
With the exception of "Auto Color", they are listed roughly
from the least to the most colorful.
- Auto Color. This is the default setting.
Firstly, if the model is a compound, then each component is given
its own color. Otherwise, the polyhedron is colored according to
face type. If there's only one face type, a different color is
used for the front and back of faces, to make it more colorful. If
there are greater than 5 face types, chiral pairs are colored the
same way to reduce the number of colors and highlight reflective
symmetry.
- Use a Single Color. A single color is used for all
faces of the model.
- Color Faces by Number of Sides. All triangles will use
one color, all quadrilaterals another color, all pentagons another
color and so on. For example, there are two different types
of triangle in the snub cube, but they are both given the same
color using this method.
- Color by Face Type. Each type of face is given its own
color. Faces are of the same type if they fit into the
model the same way. The snub cube, for example, has two different
types of triangle faces. One has another triangle across each
edge, and one has a square across one of its edges. So these would
be colored differently using this method. The next group of
options below can be used to tweak this behaviour.
- Color Along Cross-Section Direction. Faces within each
type are colored differently depending on how far along the
cross-section direction they occur (this is an axis orthogonal to
the cross-section plane). The main purpose of this is to make
cross-sections more colorful, while still retaining their own color
symmetry. See Cross-Sections.
- Color per Face (Unless Parallel). Every face is given
its own color, unless they are parallel. All parallel faces are
given the same color with this method (even if they are not the
same shape).
- The second group of options may be enabled independently. They are
all available when using "Color by Face Type" from the first
group of options above. Otherwise some options will not be available,
as appropriate.
- Same Color for Chiral Face Pairs. Faces that are
mirror images of each other will be colored the same.
- Same Color for Coplanar Faces. Coplanar faces will
always be colored the same.
- Same Color for Coplanar Chiral Pairs. Faces that are
coplanar and mirror images of each other will be colored the same.
- Same Color for Front and Back of Faces. The front and
back of each face will be colored the same.
- The final group contains just one item:
- Toggle Single/Auto Color Modes (keyboard shortcut:
Tab). To switch between single and auto coloring modes.
- Special Color Arrangements. This submenu lets you choose a
predefined color arrangement, for faces with certain symmetry. You may
choose one arrangement for each kind of symmetry, or select it again to
disable it. Any settings here will override the basic color scheme set
above (for the relevant faces only). The first dodecahedral and first two
icosahedral arrangements are as described in Magnus Wenninger's
Polyhedron Models.
- Dodecahedral Arrangement 1 (4 colors).
- Dodecahedral Arrangement 2 (6 colors).
- Icosahedral Arrangement 1 (5 colors).
- Icosahedral Arrangement 2 (5 colors).
- Icosahedral Arrangement 3 (10 colors).
- Rhombic Triacontahedral Arr 1 (5 colors).
- Rhombic Triacontahedral Arr 2 (15 colors).
- Cubic Arrangement (3 colors).
- Octahedral Arrangement (4 colors).
- Rhombic Dodecahedral Arr 1 (3 colors).
- Rhombic Dodecahedral Arr 2 (4 colors).
- Rhombic Dodecahedral Arr 3 (6 colors).
For example, to color the truncated dodecahedron, and avoid any faces of
the same color sharing an edge, you might set the basic color scheme to
"Auto Color" and enable the first dodecahedral arrangement. Since
we haven't chosen a special icosahedral arrangement, the icosahedral
triangles would all be the same color, which is fine because they don't
share edges with each other. The dodecahedral arrangement however, will
use four different colors for the decagrams, ensuring that decagrams of the
same color will never share an edge.
- Replace Face Color Throughout... (keyboard shortcut: c).
Change the color of all faces with the same color as the selected face.
Backs of faces which are this color are also changed. The user is prompted
for a new color.
- Set Face-Type Color... (keyboard shortcut: Shift+C). Change the
color (front and back) of all faces of the same type as the selected face.
- Set Single Face Color... (keyboard shortcut: Ctrl+C). Change the
color of the selected face only. If the back of the face is the same color
as the front, then it is also changed.
- Set all Face Colors... (keyboard shortcut: Ctrl+Shift+C). Change
the color of all the faces, front and back.
- Replace Back-Face Color Throughout... (keyboard shortcut:
b). Change the color of all backs of faces with the same color as the
back of the selected face.
- Set Back-Face-Type Color... (keyboard shortcut: Shift+B). Change
the color of the backs of all faces of the same type as the selected
face.
- Set Single Back-Face Color... (keyboard shortcut: Ctrl+B). Change
the color of the back of the selected face only.
- Set all Back-Face Colors... (keyboard shortcut: Ctrl+Shift+B).
Change the color of the backs of all the faces.
- Set Vertex Color.... Change the color used to display vertices
when shown as points. To change the color used when shown as spheres, use
"Display->Vertex & Edge Options->Sphere and Cylinder
Options".
Tip: Right-click on the Show Vertices toolbar button to
open a small menu where you can quickly choose this option.
- Set Edge Color.... Change the color used to display edges
when shown as lines. To change the color used when shown as cylinders, use
"Display->Vertex & Edge Options->Sphere and Cylinder
Options".
Tip: Right-click on the Show Edges toolbar button to
open a small menu where you can quickly choose this option.
- Set Midsphere Color.... Change the color used to display the
wire-frame sphere when "Display->Show Midsphere/Reciprocation
Sphere" is enabled.
- Set Background Color... (keyboard shortcut: g). Change
the background color. The user is prompted for a new color.
Images may be put on faces. You may want photos of your pets on the faces
of a dodecahedron, or you may want a model to look like it's made of wood.
This section describes the items on the Image menu (see also
Image mode below).
- Load Image... (keyboard shortcut: Ctrl+I).
Load an image from a file to display on the selected face. A file browser
appears allowing you to find the image you want. Once an image is opened,
a window with various image options. This window is similar to the one
available with Image Options below.
- Load Image List.... Load a text file which contains a list of
image files to load, one file name per line. File names are relative to
the text file, or full paths can be given. Blank lines are ignored, and
comments may be included in the file after "#". Each image is applied to a
single face. A window with image options appears, allowing the user to set
options which will apply to all images loaded. It also gives a choice
about which faces the images should be applied to.
- Apply Image to Other Faces.... Apply the image on the selected
face to other additional faces. Gives the user the following options:
- All faces of same type as selected face.
- All faces with same color as selected face.
- All faces with no image.
- All faces.
- Cancel.
Another way to apply an existing image to new faces is to use Color mode (see below).
- Remove Images.... Remove images from some or all faces.
A list of options is presented to the user, similar to above.
- Image Options.... Opens a window with various image options.
The options are also available directly elsewhere on this menu, so see
above and below for details of what the options actually do. This window
however provides a convenient way to set multiple options at one time,
and there is a preview in the bottom right corner which shows you the
effect of an option as you move the mouse over it.
Tip: Right-click on the Image mode toolbar button to open a
small menu where you can quickly choose this option.
- Options for All Images.... Opens a window similar to above, but
options set here will be applied to all images on the current model. Only
set the options you wish to change.
Tip: Right-click on the Image mode toolbar button to open a
small menu where you can quickly choose this option.
- Fit Image Within Face. Resize and reposition the image so that
it fits entirely within the selected face.
- Fit Image Around.... A submenu which lets you resize and
reposition the image so that it fits tightly around the selected face, over
the entire model, or over all those faces with the image applied.
- Unstretch Image. An image can be stretched in Image
mode (see below). Use this option to
unstretch it again.
- Flip Image Horizontally. Use this if your image is
back-to-front.
- When Rotating, Snap Image to Edges. When rotating an image in
Image mode (see below), snap to
orientations where an edge of the image is parallel to an edge of the
selected face. Otherwise, you may freely rotate to any angle.
- Show Whole Image in Image Mode. When in Image mode
(see below), show a transparent version of the
entire image, even though it may extend off the edge of the model. This
makes it easier to see what part of the image is on a face, and how close
to the edges you are etc. If it is distracting, you may disable this
option.
- Image Boundaries. A submenu which lets you choose what happens
outside the edges of the image. An endless border of any color may be used
around the image, or the image may be repeated endlessly, or values can
be clamped to the edges of the image.
- Project onto each Face Separately. Determines what happens when
an image is applied to more than one face. When enabled, the image will be
projected onto each face separately, as if it was lying flat on each face.
Otherwise, it is as if a single image is projected through the whole model,
which works well for a wood-grain or marble image. The single projected
image lies parallel to the selected face only, and will thus appear to
stretch across other faces.
- Use Face Color in Addition to Image. Normally when you put an
image on a face, you don't also want the original color of the face to show
through, but enable this option if you do want it to show through. You may
create some interesting effects by mixing a color with your image.
- Load Background Image. Opens a file browser, allowing the user
to find an image which should be displayed in the background.
- Remove Background Image. Stop showing an image in the
background.
- Maximum Image Size. Images can take up a lot of memory,
generally a lot more than the original size of the image file on your hard
drive (because it is no longer compressed). This option lets you limit the
size used internally for images. Digital cameras often create very large
images, but you won't see any difference on screen if smaller images are
used. You only need to tweak this value in two cases:
- Make it smaller if you are running out of graphics memory due to lots
of large images.
- Make it bigger if you don't think the resolution is high enough on
printed nets and pictures (printers are much higher resolution than
screens).
Select a view and use "View->View Diagrams->Cross-Section" or
the matching toolbar button to switch to the Cross-Section view. This shows
a 2D cross-section (or slice) through the current polyhedron.
The cross-section is made with a slicing plane, which can be controlled
in various ways. Any edge of the original model passing through the plane is
sliced to become a vertex. Any face crossing the plane is sliced to become one
or more edges (nonconvex polygons can lead to more than one edge). And a whole
polyhedron is sliced to create one or more polygons. So each entity loses one
dimension as a result of the slicing process.
Note: many edges and faces may lie entirely on one side of the slicing plane,
and so do not contribute at all to the cross-section.
Cross-sections have a beauty all of their own, especially when animated by
altering the slicing depth (keeping the plane parallel, but moving it
through the model). The slicing depth is a value between 0.0 and 1.0, each
representing a plane at opposite ends of the model.
Each polygon of the 2D cross-section is surrounded by edges formed by
slicing faces. The edges are shown in the color of their corresponding face,
and the polygon itself is filled with a color obtained by averaging the colors
of its surrounding edges, weighted by their edge-lengths. This can produce
some pleasing results, with the polygon colors changing smoothly into other
colors as their edges get longer or shorter. When multiple polygons overlap,
the overlapping colors are also blended, making even more interesting images.
More colorful cross-sections can be obtained by using "Color->Basic
Color Scheme->Color Along Cross-Section Direction", especially for
regular polyhedra, which would normally be shown all in one color. When all
faces have the same color, the detail of the cross-section can be lost since
all edges and filled regions become the same color. With this option,
cross-sections become much more colorful, but still retain full color symmetry.
The mouse may be used in the following ways.
- Shift+Left-click: click on an edge to select the face it
represents.
- Shift+Right-click: same as Shift+Left-click.
- Ctrl+Left-drag: change the slicing depth. Mouse intertia
is supported as usual, so let go of the Left button while still dragging the
mouse and the animation should continue on its own at the current speed.
- Ctrl+Right-click: rearrange the net by gluing the
neighbouring cell to the face being clicked on (removing it from wherever it
was before). Other cells attached to the neighbouring cell will also have to
come along for the ride if they would otherwise no longer be part of the net.
The Section menu offers further cross-sectioning options:
- Cross-Section Direction submenu:
Tip: Right-click on the Cross-Section Tumble Mode or the
View Cross-Section toolbar buttons to open a menu with these same
choices.
- Selected Face/Vertex First. Use the selected face/vertex to
decide the slicing direction. For a face, the slicing plane will be
parallel to the face. For a vertex, the slicing plane will be orthogonal
to a line through the vertex and the centre of the polyhedron.
- Along N-fold Axis. Slice perpendicular to the
N-fold symmetry axis. N changes depending on the symmetry
group of the model. Three such menu items appear, for the (up to) three
different types of rotational symmetry present.
- Automatic. When ticked, choose whatever seems like the nicest
cross-section direction whenever a new model is loaded. This is generally
whichever direction will lead to a cross-section with the most symmetry.
- Set Cross-Section Depth... Explicitly set the slicing depth to a
value between 0.0 and 1.0.
- Snap Sectioning Depth to Vertex. Change the slicing depth (up or
down) so that the slicing plane passes through the nearest vertex from the
original model.
- Show Cross-Section in Model Views submenu:
- Always. Always show the cross-section embedded in the model
views (i.e. Base, Dual, and Base + Dual views). It can be helpful to see
how the cross-section fits into the original model. When embedded in this
way, using Ctrl+Left-drag and Ctrl+Right-click in the
model views behaves as it would in the Cross-Section view instead, that is,
to change the slicing depth.
- When Cross-Section View is Open. Only show the cross-section
embedded in the model views when there is a Cross-Section view open
elsewhere.
- Never. This is the default. Don't ever show the cross-section
in the model views.
- Show Vertices Near Slice Plane. When ticked, vertices of the
original model are displayed in the Cross-Section view when they get close to
the slicing plane. They are represented as white circles
which grow in size as the slicing plane approaches, then shrink again as it
passes by. It is as if spheres were placed at each original vertex, and they
too were being cross-sectioned to create circles.
- Fill 2D Cross-Section. Untick this option to show cross-sections
only as an unfilled outline. For extremely complex models, the filling can be
very slow, so untick this option if you find such a model. Outline-only
cross-sections can be displayed almost instantly for any model.
- Show 2D Cross-Section Edges. Untick this option to show
cross-sections as filled areas only with no outline. Sometimes this is
aesthetically more pleasing, giving a "smoother" appearance.
The yellow left/right buttons in the title bar of the Cross-Section view
also serve a purpose. They skip the slicing depth forward or backward to all
the values where the slicing plane passes through a vertex of the original
model. These are often quite interesting points in the transition.
Finally, the slicing plane can be tumbled interactively in a free-form
style. See Cross-Section Tumble Mode for the details.
Symmetries are transformations which leave a model looking like it
hasn't moved. They mostly come in two types: rotational and reflective. Use
"Display->Show Symmetry Axes" to display the rotational symmetry
axes (keyboard shortcut: s, also on options toolbar). In 3D views these
are indicated by an axis through the model with a small disc at either end.
The number of spokes in the disc indicates the order of rotational symmetry.
The different types of rotational symmetry axis are shown in different colors.
Use "Display->Show Reflection Planes" to display the reflective
symmetries (keyboard shortcut: r, also on options toolbar). In 3D views these are
represented by great circles around the model in the reflection plane.
The symmetry group of a polyhedron is the collection of all its
symmetries. The options toolbar has a field that shows the rotational
symmetry group (e.g. "Icosahedral"), and another field showing the reflective
symmetry group within that (e.g. "Horizontal Reflection").
A good web page showing the different symmetry groups
is
http://newton.ex.ac.uk/research/qsystems/people/goss/symmetry/Solids.html.
The only groups missing here are icosahedral symmetry, both with and without
reflections. The h subscripts on that page correspond to "Horizontal
Reflection" in Stella, and the d subscripts correspond to "Diagonal
Reflection". Notice that the rotational symmetries of a tetrahedron
can be combined with either of these reflection types (Th and
Td).
Submenu: "Selection->Mouse Selection Mode"
Items in this submenu allow you to enter a different mode, where the mouse
behaves differently from normal. Exactly one of the items will be selected at
any one time. The first item on the list is the default mode, so to exit one
of the other modes, either select this item, or just hit Esc. There
is also a toolbar containing a button for each of these modes.
You can tell when you're in a different mode from usual by holding down
Shift and seeing what shape the mouse pointer becomes. Navigation
with the mouse acts the same in all modes. The difference is what happens when
you're holding down Shift and/or Ctrl.
Some of these modes are described in the following sections.
Menu item: "Selection->Mouse Selection Mode->Cut/Uncut Edges"
If you don't like the net created, you can force the program to cut
certain edges. This makes it rebuild the nets, connecting different
faces together instead. All edges of the selected type are cut/uncut
at once. Nothing is really ever "glued", just either forced as a cut
or not.
Note that cutting one edge may cause other faces to join together in a net
where they were previously not connected. This is because the nets are rebuilt
from scratch. So you can use cutting as a way of forcing other faces to join
up. If you didn't want those faces to connect, then you can always cut their
shared edge too.
For example, use this mode and Shift+Left-click on an edge of
the icosahedron. All edges are the same type, so they are all cut, so you end
up with only one face in each net.
Menu item: "Selection->Mouse Selection Mode->Measurement Mode"
This mode lets you measure the distance between any two vertices of a model.
Use Shift+Left-click on a couple of vertices and the
distance between them is shown in the status bar. If you continue to click on
other vertices, the value shown is always the distance between the last two
vertices chosen. A line is drawn between the vertices so that you can see
exactly what distance is being measured. If instead you use
Shift+Right-click on a series of vertices, the distance
between the first and last one is displayed, rather than the last two. This
is convenient if you want to measure the distance from some vertex to several
other vertices.
In addition to appearing in the status bar, you can also access the
currently measured distance via "Scale->Measured Distance...".
This also lets you change the distance, which affects the scale of the model
used for printing nets.
Note, you may only click on true vertices of the model, not virtual
ones caused by intersecting faces.
Menu item: "Selection->Mouse Selection Mode->Color/Hide Faces"
This mode lets you easily copy colors, images, or "hiddenness" between
faces. Ctrl+Left-click on a face to copy attributes from the
previously selected face. Shift+Left-click on a face to
change all faces of that type according to the attributes of the previously
selected face (use "Options->Maintain Reflexibility" to choose
whether reflected faces should also be changed). In either case, hold the left
mouse button down and draw the mouse across multiple faces to apply the
color/image to all of them, like painting.
If the selected face was hidden, then the "hiddenness" is copied, that is,
other faces may be easily hidden too by Ctrl+Left-clicking on
them. In this case the color/image of the face is not changed (it is presumed
that it is only the hiddenness that you are interested in copying).
Ctrl+Right-click and Shift+Right-click
both just select a face without changing its color. This lets you choose a new
face to start copying attributes from. In this mode, the face is only
highlighted white briefly when you select it, and then returns to its normal
color, since it is important to see true face colors in this mode.
If you plan to do a lot of augmentation (see
below), this mode can be useful. One of
the options when augmenting is to only augment faces of the same color. So
select one of the faces you want to augment, then copy that color to all the
other faces you want to augment. This lets you quickly and easily select a
collection of faces for augmentation.
Menu item: "Selection->Mouse Selection Mode->Image Mode"
If the selected face does not already have an image on it when entering this
mode, a file browser will open allowing you to select one. This is the same as
if you had used "Image->Load Image" (see
Images above). You may cancel the file browser if you
wish to use Image mode without loading any new images.
Image mode lets you accurately position images on faces however you want.
Use Shift+Left-drag to move an image on a face.
Use Shift+Right-drag to scale an image on a face.
Use Shift+Left+Right-drag to rotate an image on a
face.
Compare these three operations with navigation in a 2D view. Notice the
similarity when you don't hold down Shift? This makes it easier to
remember which combination of buttons does what.
Use Ctrl+Left-click to select a face without affecting the
image on it. And use Ctrl+Right-drag to stretch an image on
a face (changes the aspect ratio of the image).
The operations listed above (including Ctrl+Left-click,
which doesn't otherwise affect the image) all perform another function too.
They change the main face of the image. The main face is the one that
is used to control the projection of the image. This only has an effect when
"Image->Project onto each Face Separately" is disabled. The image
lies parallel to the main face and is projected down through the model in the
same way for all faces. So these mouse clicks let you change which face is
used for the projection.
Use Ctrl+Shift+Left-click to swap images between
two faces. The images are swapped between the face you click on, and the face
that was previously selected. This is useful in conjunction with
"Image->Load Image List...". You can load a bunch of images at
once, then swap them between faces to get the arrangement you want.
Menu item: "Selection->Mouse Selection Mode->Cross-section
Tumble Mode"
This mode allows you to interactively tumble the slicing plane. See
Cross-Sections for more information and ways to choose
specific orientations of interest for the plane.
In this mode, the mouse can be used in the following ways.
- Shift+Left-drag: rotate slicing plane
- Ctrl+Left-drag: change slicing depth
- Ctrl+Right-click: slice half-way (set slicing depth to
0.5).
Small Stella was written by Robert Webb.
I use FreeImage
(http://freeimage.sourceforge.net,
under the FreeImage Public License version
1.0) for importing
2D images, which in turn uses various other
libraries. Below is a list of credits regarding these libraries:
- IJG JPEG library © 1994-1998, Thomas G. Lane
- LibPNG © 1998-2001 Glenn Randers-Pehrson
- LibTIFF © 1988-1997 Sam Leffler, © 1991-1997 Silicon Graphics Inc.
- LibMNG © 2000-2001 Gerard Juyn
- Gif-RLE © Hutchison Avenue Software Corporation, 1998
- LibJ2K © David Janssens, 2001-2002
- LibJBG © Markus Kuhn, 2002
- JasPer © Image Power, UBC, Michael David Adams, 2001-2003
- zlib © 1995-2003 Jean-loup Gailly and Mark Adler
Wood and stone textures obtained from
http://www.mayang.com/textures
Hopefully you'll be able to work the rest of the interface out on your own!
There are lots of menus to look through. Let me know if you have any problems
or can't figure out how to do something. I'll be interested to hear what you
think!
Copyright © 2001-2010, Robert Webb
().
Stella Home Page:
http://www.software3d.com/Stella.php.