An open API service indexing awesome lists of open source software.

https://github.com/qalle2/plato

Platonic solids for OpenSCAD
https://github.com/qalle2/plato

3d-geometry geometry openscad

Last synced: 5 months ago
JSON representation

Platonic solids for OpenSCAD

Awesome Lists containing this project

README

          

# plato
*Note: This project has been moved to [Codeberg](https://codeberg.org/qalle/openscad-solids). This version will no longer be updated.*

The non-built-in Platonic solids for OpenSCAD:
* regular tetrahedron (four faces)
* regular octahedron (eight faces)
* regular dodecahedron (12 faces)
* regular icosahedron (20 faces)

## Screenshot
![screenshot](plato.png)

## References
Wikipedia:
* [Platonic solid](https://en.wikipedia.org/wiki/Platonic_solid)
* [equilateral triangle](https://en.wikipedia.org/wiki/Equilateral_triangle)
* [regular tetrahedron](https://en.wikipedia.org/wiki/Tetrahedron#Regular_tetrahedron)
* [regular octahedron](https://en.wikipedia.org/wiki/Octahedron#Regular_octahedron)
* [regular dodecahedron](https://en.wikipedia.org/wiki/Regular_dodecahedron)
* [regular icosahedron](https://en.wikipedia.org/wiki/Regular_icosahedron)

## Math
*a* denotes the edges of all the solids.

phi:
* *ϕ* = (1 + √5) / 2
* *ϕ*² = *ϕ* + 1

### Regular tetrahedron
* incircle (faces): *r* = √(3) / 6 × *a*
* circumcircle (faces): *R* = √(3) / 3 × *a*
* insphere: *r* = √(6) / 12 × *a*
* circumsphere: *R* = √(6) / 4 × *a*

### Regular octahedron
* circumsphere: *R* = √(2) / 2 × *a*

### Regular dodecahedron
If *a* = 2/*ϕ*, the coordinates of the vertices are:
* (±1, ±1, ±1)
* circular permutations of (0, ±*ϕ*, ±1/*ϕ*)

To get coordinates for *a* = 1, multiply them by *ϕ*/2:
* (±*ϕ*/2, ±*ϕ*/2, ±*ϕ*/2)
* circular permutations of (0, ±(*ϕ*+1)/2, ±½)

### Regular icosahedron
Coordinates of vertices if *a* = 1:
* circular permutations of (0, ±½, ±*ϕ*/2)