te_Wsvg = {
const svg = d3.create("svg")
.attr("viewBox", [0, 0, W, W])
.style('background', "#f2f2f2")
.attr('width',W)
.attr('height',W);
const out = svg.append('g')
.attr('transform',`translate(${W/2} ${W/2})`)
let ratio = 0.01;
for (let i = 0; i < 10000; i++) {
let bool = Math.random() > 0.5;
let angle = (getRandomInt(angle_num) * 360) / angle_num + ((recursiveRandom(3, bool) - 0.5) * 360) / angle_num / 2;
let n = recursiveRandom(getRandomInt(5), bool);
let r = 200 * n;
let x = Math.cos(degToRad(angle)) * r * (bool ? 1 - ratio : 1 + ratio);
let y = Math.sin(degToRad(angle)) * r * (bool ? 1 - ratio : 1 + ratio);
out.append('circle')
.attr('fill','#400')
.attr('cx', x)
.attr('cy', y)
.attr('r', (2 - Math.abs(n - 1) * 2)/2)
}
return svg.node()
}