Duals of Polyhedra
by pmoews, published
Use This Project
Give a Shout Out
If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.Print Thing Tag
Here is a simple openSCAD program which outputs the "dual" of a set of points on a unit sphere. If the points are the vertices of an Archimedean solid the output is a Catalan solid. If the points are a solution to the Thomson problem, (see thing:22663, Thomson Problem Polyhedra), the output is the convex hull dual. If the points are the centers of the faces of a polyhedron all equidistant from the origin, the output
is the polyhedron.
More than one set of points can be used as input so as to output compound polyhedra or material common to two or more polyhedra. For example the Archimedean polyhedra cannot be output directly as their faces are not equidistant from the origin. However the Archimedean solids can be generated by treating each set of faces separately and combining them.
Some sample scad files and their outputs are provided. They are:
A program to generate a cuboctahedron from its face centers:
A program to generate a rhombic dodecahedron from the vertices of the cuboctahedron:
A program to generate the cuboctahedron - rhombic dodecahedron compound:
A program to generate the material common to a cuboctahedron and a rhombic dodecahedron:
The image at the upper left shows the four polyhedra. Note how the vertices of the cuboctahedron protrude through the centers of the faces of the rhomic dodecahedron in the compound polyhedron.
Compound_cuboctahedron_dual.stl needs to be printed with external support.
I don't guarantee that my views of what is going on here are correct as openSCAD often surprises me. The method used involves two concentric spheres, one arbitrary, and a unit sphere containing the points to be considered. A vector is drawn from the origin through a point on the unit sphere. At some distance away from the origin but less than the radius of the arbitrary sphere, a plane normal to the vector is created. All material that lies beyond the outer side of the plane is removed. The process is repeated until all of the points have been treated.
Similar results can be obtained with polyhedron commands but I like the simplicity of the method and the fact that it lets openSCAD work out all the triangles. Perhaps the method has other advantages.
Upgrade this Thing with Thingiverse AppsCustomization
Edit, personalize, or revise this ThingPrint Fulfilment
Order a print of this ThingTools and Utilities
Repair, slice, or enhance this Thing
Duals of Polyhedra by pmoews is licensed under the Creative Commons - Attribution license.
What does this mean?
- You must attribute (give credit) to the creator of this Thing.
- Remixing or Changing this Thing is allowed.
- Commercial use is allowed.
Show Some Love
Say thanks by giving pmoews a tip and help them continue to share amazing Things with the Thingiverse community.Tip Designer
We're sure pmoews would love to see what you've printed. Please document your print and share a Make with the community.
To post a Make simply visit this Thing again and click I Made One to start uploading your photo. It’s even easier to post a Make via the Thingiverse Mobile app (available via Google Play and Apple App Store).