This is a preview. The example is functional, but the documentation for the functions used (and others) is not yet available. Additional types of algorithmic designs will be added at some point.
Convex polyhedra
There are many beautiful regular polyhedra that can be cut. Their appeal does not stem from how they interact with light, but more in the elegance of their symmetrical forms. However, obtaining precise cutting instructions for these polyhedra can be quite challenging. That’s where Hackagen comes in. The concept is simple: you provide a list of 3D points, and Hackagen determines the facets and generates a detailed cutting diagram.
Example: The Pentakis Dodecahedron
setIndexGear(96)
let φ = (1 + Math.sqrt(5)) / 2.0
let A = (12 + 3 * φ) / 19.0
let numbers = [1, 1, 1]
let res = generateSignCombinations(numbers, [0, 1, 2])
let n2 = [0, A, A * φ]
let tmp2 = generateSignCombinations(n2, [1, 2])
let res2 = generateEvenPermutationsForArrayOfPoints(tmp2)
let n3 = [0, φ, 1.0 / φ]
let tmp = generateSignCombinations(n3, [1, 2])
let res3 = generateEvenPermutationsForArrayOfPoints(tmp)
cutMagic([...res, ...res3, ...res2])