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.