dorlingCartogramOptimisation = {
if (startOptimistation == 0) return;
const simulation = d3
.forceSimulation(data)
.force(
"collide",
d3
.forceCollide()
.radius((f) => collisionPadding + f[type === "Sec" ? "r1" : "r2"])
.iterations(4)
)
.force(
"x",
d3.forceX().x((f) => f.cgeom[0])
)
.force(
"y",
d3.forceY().y((f) => f.cgeom[1])
);
simulation.on("tick", () => {
circles.attr("cx", (f) => f.x).attr("cy", (f) => f.y);
text.attr("dx", (f) => f.x).attr("dy", (f) => f.y);
});
}