T = {
let T = [
[
[
[0, 0],
[1, 0],
[1, 1],
[0, 1]
]
]
];
let n = 7;
for (let i = 0; i < n; i++) {
T = multi_polygon_step(T, i);
}
let An = math.pow(math.inv(A), n);
let S = [
[1, -1 / 2],
[0, Math.sqrt(3) / 2]
];
T = T.map((p) => p.map((pts) => pts.map((xy) => math.multiply(S, An, xy))));
return T;
}