Polyhedron maps
Jump to navigation
Jump to search
| Projects | |
|---|---|
| Participants | Brainsmoke |
| Skills | maths, lasercutting |
| Status | Finished |
| Niche | Mechanics |
| Purpose | World domination |
Polyhedron Maps
By combining globe projection code (used for the HAR2009 shirt as well as for the Eth0:2012 Summer poster,) with polyhedron math code written for polyhedrone, I was able to create a script which projects the world map on the surface of a polyhedron. The script generates laser-cuttable polyhedral faces with notches which lock at the correct angle.
Source
Example
Generated with:
./polymap.py --type sC --radius 120 --thickness 3 snubcubemap.svg
Usage
usage: polymap.py [-h]
[--type {T,O,C,D,I,tT,tC,bC,tO,tD,bD,tI,aC,aD,eC,eD,sC,sD,kT,kO,mC,kC,kI,mD,kD,jC,jD,oC,oD,gC,gD}]
[--map {earth}] [--radius RADIUS]
[--thickness THICKNESS] [--overhang OVERHANG]
[--overcut OVERCUT] [--padding PADDING]
[--sheetwidth SHEETWIDTH] [--cutwidth CUTWIDTH] [--flip]
[--dpi DPI] [--invert] [--nonumbers] [--noengraving]
filename
positional arguments:
filename output svg
optional arguments:
-h, --help show this help message and exit
--type {T,O,C,D,I,tT,tC,bC,tO,tD,bD,tI,aC,aD,eC,eD,sC,sD,kT,kO,mC,kC,kI,mD,kD,jC,jD,oC,oD,gC,gD}
solid type (Conway name)
--map {earth} map engraving
--radius RADIUS polyhedron's radius (mm) (default: 100)
--thickness THICKNESS
material thickness (mm) (default: 3.)
--overhang OVERHANG overhang of notches (mm) (default: .3)
--overcut OVERCUT overcut in corners to account for cutting width (mm)
(default: 0)
--padding PADDING padding between faces (mm) (default: 3.)
--sheetwidth SHEETWIDTH
maximum sheet width (mm) (default: 550)
--cutwidth CUTWIDTH cutting width of laser(mm) (default: .15)
--flip engrave on the backside
--dpi DPI dpi used for svg, (default: 90, as used by inkscape)
--invert engrave seas instead of landmass
--nonumbers do not plot number hints
--noengraving do not plot world map
Supported solids:
T: Tetrahedron (???)
O: Octahedron (???)
C: Cube (???)
D: Dodecahedron
I: Icosahedron
tT: Truncated tetrahedron (???)
tC: Truncated cube (???)
bC: Truncated cuboctahedron
tO: Truncated octahedron (???)
tD: Truncated dodecahedron
bD: Truncated icosidodecahedron
tI: Truncated icosahedron
aC: Cuboctahedron (???)
aD: Icosidodecahedron
eC: Rhombicuboctahedron
eD: Rhombicosidodecahedron
sC: Snub cube
sD: Snub dodecahedron
kT: Triakis tetrahedron
kO: Triakis octahedron
mC: Disdyakis dodecahedron
kC: Tetrakis hexahedron
kI: Triakis icosahedron
mD: Disdyakis triacontahedron
kD: Pentakis dodecahedron
jC: Rhombic dodecahedron
jD: Rhombic triacontahedron
oC: Deltoidal icositetrahedron
oD: Deltoidal hexecontahedron
gC: Pentagonal icositetrahedron
gD: Pentagonal hexecontahedron
Errata:
- Solids marked ??? may have too steep dihedral angles
(different notches are required)
- this script invokes inkscape to do a boolean path intersection operation
this seems to fail for the tC solid (Europe's missing.)