conway-hart
v0.1.0
Published
CommonJS port of George Hart's polyhedral notation library
Downloads
129
Readme
conway-hart
A port of George Hart's JavaScript implementation/extension of Conway's polyhedral notation to the CommonJS module system. Here are some useful links that can help explain what it all means:
- George Hart's original implementation: http://www.georgehart.com/virtual-polyhedra/conway_notation.html
- The Wikipedia page on Conway's notation
Installation
Just use npm:
npm install conway-hart
Example
Here is an example showing how to use this library to generate a shape:
require("conway-hart")("djmeD");
Which produces the following polygon:
If you want to try it out for yourself without installing node.js, here is ansome other polytopes for yourself, here is an interactive WebGL demo.
Usage
Conway/Hart notation is a way of specifying spherical polyhedra by subdividing regular polyhedra. The way it works is that you first specify a seed polyhedra, and then apply a sequence of operators. Each of these methods returns a javascript object with three fields:
name
: The name of the solid.faces
: The faces of the solid, represented as a list of indices into the vertices.positions
: The positions of the vertices of the solid.
You can also invoke the Conway operators directly. For example:
var ch = require("conway-hart");
ch.dual(ch.kis(ch.icosahedron(), 3));
The convention is that the name of the method is just the same as the name of the operator in lower case.
Seeds
Here is a list of all the available seeds. The ones with an n
next to their symbol take an extra parameter describing how many faces are on their base.
"T"
Tetrahedron
"C"
Cube
"O"
Octahedron
"D"
Dodecahedron
"I"
Icosahedron
"Pn"
Prism
"An"
Antiprism
"Yn"
Pyramid
Operations
a
Ambo
b
Bevel
c
Canonicalize
d
Dual
e
Expand
g
Gyro
j
Join
kn
Kis
m
Meta
o
Ortho
p
Propellor
r
Reflect
s
Split
tn
Truncate
Credits
(c) 1998 George Hart. GPL
CommonJS port maintained by Mikola Lysenko.