in packages/showcase/misc/triangle-example.js [25:45]
function buildTriangle(sideWidth, lowerLeftCoord) {
const {x, y} = lowerLeftCoord;
const triangle = [
[
{x, y},
{x, y: y + sideWidth},
{x: x + sideWidth, y}
]
];
if (sideWidth < 0.5) {
return triangle;
}
const newWidth = sideWidth * 0.5;
const a = buildTriangle(newWidth, lowerLeftCoord);
const b = buildTriangle(newWidth, {x: x + sideWidth, y});
const c = buildTriangle(newWidth, {x, y: y + sideWidth});
return triangle
.concat(a)
.concat(b)
.concat(c);
}