background preloader

Sphere plot methods

Facebook Twitter

ClintonEqualEdge.pdf (application/pdf Object) Programs and Documentation. Packinon - Home. Packinon - Example: Compound of a Cube and Octahedron. 1. Make a cube This can be done with unipoly, which can be used to make all the uniform polyhedra. unipoly cube > cube.off Display with off2pov -o cube.pov cube.off povray +a +p cube.pov 2. Pol_recip is used for making duals by polar reciprocation. To make a nice compound the radius of the sphere used for reciprocation needs to be the distance from the cube centre to the mid-point of an edge, and the sphere centre must be the centre of the cube. unipoly has centred the cube on (0, 0, 0), which is the default centre for pol_recip.

Off2pov -x vf -n -o cube.pov cube.off povray +a +p cube.pov Vertices 3 and 5 are adjacent, so make the dual octahedron like this, and display it. pol_recip -R 3,5 cube.off > oct.off off2pov -o oct.pov oct.off povray +a +p oct.pov 3. OFF files are merged with off_merge off_util cube.off oct.off > cub_oct.off Display the result. off2pov -o cub_oct.pov cub_oct.off povray +a +p cub_oct.pov 4. Colour the cube faces red, and the octahedron faces green. Packinon - off2eig.py - converts OFF to EIG format. Packinon - polyform.py - converts OFF to POV or VRML.

Polyform.py provides a way to visualise point sets by converting them into a model which may be imported into other programs for viewing. File formats supported are POV (for rendering in povray), VRML (for viewing in any VRML 2.0 viewers), OFF (for viewing in geometry viewers like javaview and geomview). The program requires Qhull to be installed.

There are many options (see program help), although not all are available for all output formats. Points are drawn as spheres (of a chosen size, and optionally numbered), the faces of the convex hull can be displayed and the edges shown as rods (of a chosen size). The camera and model position can be controlled. For POV output there are two different stereo views available and also a four-view option. Program Help usage: polyform.py [options] [input_file] This program takes a set of coordinates and generates a pov or vrml file using spheres, rods, etc to help with visualisation input_file File containing the coordinates. Packinon - packer.py - a ball packer. Packer.py packs balls in a spherical container. Balls are placed one by one in contact with already placed balls.

Each pack is started with an initial placement of two or three balls. These generate the first pockets, which are positions where a ball can be placed so that it makes three or more contacts with other balls and/or the container. If there is more than one pocket available for the next ball position then the pocket which is chosen is determined by the packing method (from the -M option) - up - choose lowest pocket in - choose pocket furthest from container centre out - choose pocket nearest to container centre inup - choose pocket by in, then choose from any equal pockets by up outup - choose pocket by out, then choose from any equal pockets by up When the new ball is added it will often create new pockets.

Program Help Next: polyform.py - converts OFF to POV or VRML Up: Early Python Versions. Packinon - pg_saff.py - Saff and Kuijlaars spherical distribution. Packinon - pg_spiral.py - spirals points on a sphere. Pg_circle.py distributes points on a spherical spiral. The distance between successive points is constant. The spiral runs from the top of a sphere to the bottom with the angle turned about the axis being proportional to the angle swept down from the top. The positions of the points are found using an approximation method rather than being calculated directly. Here are some images of points distributed on a 1.0 radius sphere in 10 turns: A good distribution is achieved when the distance between points is the same as the distance between successive turns. Program Help usage: pg_spiral.py [options] options -h this help message -T val number of turns in the spiral (default 10) -S val create sphere points with radius of val (default, half the distance between turns) -N val number of points to plot (not used) -o file write output to file, if this option is not used the program writes to standard output.

Next: pg_saff.py - Saff and Kuijlaars spherical distribution Up: Early Python Versions. Packinon - pg_circle - places circles of points on a sphere. Pg_circle.py distributes points on a sphere in a series of parallel circles running from pole to pole traced by equal angular steps from the pole axis at the centre of the sphere. The points are distributed all evenly on each circle, and there are as many as can be fitted without the angle at the sphere centre between neighbours falling below the angle that separates the circles.

Put simply, it arranges balls in rings on a sphere. I found a reference for this distribution method in the Sphere Distribution Problems page. The program places balls on each circle starting at a line of longitude, or has an option to stagger this placement by a "half ball" on alternate circles. This starting position means that the unstaggered distribution is symmetrical to left and right, but not front and back (which differ in regularity in both staggered and unstaggered forms). Here are some images of 30 rings of balls on a sphere: You can see how the front sides are more regular. Program Help.

Packinon - pg_geo.py - makes geodesic spheres. Pg_geo.py distributes points in multiple frequency polyhedral patterns, such as the vertices of geodesic spheres. The polyhedron can be chosen with the -p option. The choices are t - regular tetrahedron o - regular octahedron i - regular icosahedron. T - a single equilateral triangle The type of face pattern is chosen with the -d option 1 - Class I (Alternate) 2 - Class II (Triacon) a,b - general pattern, Class I, II or III (a and b are integers) A frequency value is given to say how the pattern will be repeated. All the patterns may be specified by a pair of integers (thanks to Anton Sherwood for this suggestion, see Clinton's Equal Angle Conjecture for further details). In terms of the general pattern the Class I pattern is equivalent to 0,1 with the frequency value corresponding to divisions along an edge.

For some patterns there will be geodesic vertices lying on the polyhedron edges between the face vertices. Here are some example images of Class I divisions. Program Help.