function buildTriangle()

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);
}