| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| EqlPolyhedraWithHeptagons.py | 2008-10-05 | 21.9 kB | |
| README | 2008-10-05 | 6.6 kB | |
| Scene_RegHeptS4A4Eg.py | 2008-10-04 | 31.3 kB | |
| Lib_Scenes.py | 2008-10-04 | 30.7 kB | |
| Scene_EqlHeptA5xI_GD.py | 2008-10-04 | 20.9 kB | |
| Scene_EqlHeptA5xI_GI.py | 2008-10-04 | 21.3 kB | |
| Scene_EqlHeptFromKite.py | 2008-10-04 | 18.0 kB | |
| gpl-2.0.txt | 2008-10-03 | 18.0 kB | |
| heptanum.py | 2008-10-03 | 27.6 kB | |
| Scene_EqlHeptA5xI.py | 2008-10-03 | 18.2 kB | |
| Scene_EqlHeptS4A4.py | 2008-10-03 | 14.4 kB | |
| Scene_EqlHeptS4xI.py | 2008-10-03 | 20.1 kB | |
| filelist | 2008-07-05 | 242 Bytes | |
| Totals: 13 Items | 249.2 kB | 0 | |
With this program you can interactively investigate some polyhedra containing
convex equilateral heptagons. These polyhedra are derived by truncating the
polyhedra that appear while morphing between dual regular polyhedra.
Copyright (C) 2008 Marcel Tunnissen
http://www.tunnissen.eu
License: GNU Public License version 2
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program (gpl-2.0.txt); if not,
check at http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
or write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Requirements:
-------------
You will need:
1. Python: http://www.python.org
2. Wxpython: http://www.wxpython.org
3. pyOpenGL: http://pyopengl.sourceforge.net/
4. ScientificPython: http://dirac.cnrs-orleans.fr/plone/software/scientificpython/
5. The dependencies of the above.
Contents:
-------------
README : this file
EqlPolyhedraWithHeptagons.py : The main python file, start this to work with
the program
filelist : a list of files that is included in this distribution.
gpl-2.0.txt : license file
heptanum.py : A stand-alone python script that I used to
calculate numerically the different special
positions.
Lib_Scenes.py : A library of functions and classes that is
mainly used by the scene files
Scene_EqlHeptA5xI_GD.py : A scene that shows the polyhedra that appear
while morphing between the Great Dodecahedron
and the Small Stellated Dodecahedron.
Scene_EqlHeptA5xI_GI.py : A scene that shows the polyhedra that appear
while morphing between the the Great Icosahedron
and the Great Stellated Dodecahedron.
Scene_EqlHeptA5xI.py : A scene that shows the polyhedra that appear
while morphing between the Dodecahedron and the
Icosahedron.
Scene_EqlHeptS4A4.py : A scene that shows the polyhedra that appear
while morphing between two Tetrahedra.
Scene_EqlHeptS4xI.py : A scene that shows the polyhedra that appear
while morphing between the Cube and the
Octahedron.
Scene_EqlHeptFromKite.py : A scene that shows how a kite can be truncated
to obtain a equilateral heptagon.
Scene_RegHeptS4A4Eg.py : A scene that shows an example of how polyhedra
with tetrahedral symmetry and regular heptagons
can be constructed.
TODO
- Look at OpenGLContext: http://pyopengl.sourceforge.net/context/
- Investigate transparency more: can I use other blend modes that will give
shading effects?
- Add settings: mouse speed for navigation, window size/position etc.
- fix documentation in std python style.
- check ctrl window size on other OS's: can't this be done automatically?
- removal of heptagons should perhaps not remove the edges and vertices?
- add statusStr for isosceles triangle: add angle (calc angle between normals)
- use consistent angles... see comment in S4xI Scene.
- calc all positions with high precision
- bind 'q' quit.
- remove file open menu.
- for e.g. the A5xI_GI the triangles become dark after continue beyong the
minimum angle, this is probably caused by a normal that is turned inwards. I
am not sure if I really will fix this, since this is not a position in the
domain.
- fix transparency: do I need to fix the transparency more: i.e. draw heptagons
from back to front for A5xI_GD and A5xI_GI? I think it will not matter, but
the result looks inconsistent. For instance different results for different
camera positions that all look into a 5-fold symmetry axis.
Actually reading http://www.opengl.org/resources/faq/technical/transparency.htm
the faces are not transparent but translucent. I could use stippling. Use
random stipples as mentioned in the red book 1.4 on page 590: 'Cheesy
Translucency':
http://fly.cc.fer.hr/~unreal/theredbook/chapter13.html
Example of stippling: http://fly.srk.fer.hr/~unreal/theredbook/chapter02.html
Tried this: very, very ugly.... Not what I want.
Instead set the colour yourself, by calculating the normal, while using the
lights. Since flatshading is used, this should be sufficient.
- Use display list for base elements, see e.g.
http://antville.medien.uni-weimar.de/static/antville/puppets/files/getting%20started%20with%20opengl.pdf
FIXED Oct 2008:
- Added scrollbar to "GPL Copy Conditions"
- Fixed window size and location for the scene with regular heptagons.
- fixed problem with some widgets in the ctrl panel that were not destroyed on
Ubuntu Hardy Heron (they were destroyed on Windows 2000). All GUIs were the
boxes in the StaticBoxSizer.
FIXED June 2008:
- fixed flickering / taering problems on Ubuntu Linux: apparently double bufffering was not default.
- glColor4 does not exist on M$ Windows
- set ctrl window size in scene (document minimum that a scene should implement)
- add "experimental" to tranparency (and document problem: paint from back to front)
- navigation.
- set sphere width and cylinder width of advanced edges and vertices in scene (document)
- use correct normals for extra faces
- On MS windows you cannot use Scientific.Geometry.Vectors for openGL vectors.
- Improved transparency: first draw all non-transparent, then turn-off write to depth
buffer and draw transparent polygons but not from back to front. Note that the
heptagons are the only transparent faces and these all have the same colour,
so "back-to-front" shouldn't really matter so much.
- Add GPL text in program;
- Added light model side sided, so the extra isosceles triangles are coloured
right when turned inside out.