Skip to content

huttarl/stemkoski.github.com

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Polyhedron operations workshop

Status: Probably won't be needed anymore.

The idea here is a web-based (convex) polyhedron lab - a place to perform operations and transformations, like truncation, cantellation, and subdivision, on polyhedra and see the results.

First, the lab allows you to load well-known polyhedra (Platonic, Archimedean, Johnson) as starting points. They are loaded not only into graphics-oriented meshes for interactive display, but also into a richer topological data structure that facilitates analysis and modification without breaking consistency.

Then, you can globally apply selected tools to the current polyhedron, such as truncation (hopefully offering a variety of different strategies), rectification, cantellation, snub, subdivision, project to sphere.

At each point you can view the results in real time, rotate them, and maybe check statistics about the resulting polyhedron. You can undo an operation and try another in its place, or you can apply successive operations to the results of previous ones.

Finally, the results of experimentation can be exported in a couple of useful formats for use with other software, whether for graphical display (triangulated mesh) or more abstract computational geometry (VRML maybe).

My motivation is to produce logistically sound, and aesthetically pleasing, topologically-spherical graphs for games that are traditionally planar, like slitherlink puzzles. But I discovered, en route to that, a need for a web-based tool for experimenting with operations on polyhedra. There are some already, and some of them are far more extensive than what I hope to do here, but most of them I found were either Java applets (and therefore difficult to run in modern browsers), desktop apps (with attendant cross-platform issues), not free, limited to a single operation, or some combination of those.

This app is built on Lee Stemkowski's examples, http://stemkoski.github.io/Three.js/Topology-Data.html and http://stemkoski.github.io/Three.js/Polyhedra.html. Those apps contain base polyhedron data, conversion of that data to Three.js meshes for display, and topological data structures for understanding Three.js geometries.

Wait ... I just discovered http://levskaya.github.io/polyhedronisme/ That does most of what I had in mind, and more. It uses a typed recipe instead of a more GUI input approach, but that's ok.

You do have to sprinkle 'AN' and 'CN' at various points in the recipe to make sure you end up with convex solids and planar faces. See issue levskaya/polyhedronisme#3 So the Roads Untaken polyhedron becomes 'AeA3ptI'. Looks nice!

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 92.1%
  • HTML 7.8%
  • CSS 0.1%