function spherical_phyllotaxis(count, radius) {
let positions = [];
for (let i = 1; i <= count; ++i) {
const phi = Math.acos(1.0 - 2.0 * i / count);
const theta = i * golden_angle;
const x = Math.sin(phi) * Math.cos(theta) * radius;
const y = Math.sin(phi) * Math.sin(theta) * radius;
const z = Math.cos(phi) * radius;
positions.push(...[x, z, y]);
}
return node3d(positions);
}