function sierpinksi_triangle_pts(a, x,y, w=width, n=0) {
if (n == 0) {
return a
.concat(points_ccw_from_left(x,y, w));
}
else {
const n1 = n - 1;
const w1 = w / 2;
const ref = points_ccw_from_left(x,y, w1);
return a
.concat(sierpinksi_triangle_pts(a, x,y, w1, n1))
.concat(sierpinksi_triangle_pts(a, x+w1,y, w1, n1))
.concat(sierpinksi_triangle_pts(a, ref.c.x,ref.c.y, w1, n1))
}
}