Download Latest Version polyhEqlHept_0_002.zip (66.1 kB)
Email in envelope

Get an email when there's a new version of Polyhedra with Equilateral Heptagons

Home / OldFiles
Name Modified Size InfoDownloads / 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.
Source: README, updated 2008-10-05