function generateHeartShape() {
heartPoints = [];
const centerX = width / 2;
const centerY = height / 2;
const pulse = 1 + Math.sin(pulseTime) * 0.05;
const scale = 15 * pulse;
const steps = Math.max(40, settings.numParticles);
for (let i = 0; i < steps; i++) {
const t = (i / steps) * Math.PI * 2;
const x = centerX + scale * 16 * Math.pow(Math.sin(t), 3);
const y = centerY - scale * (13 * Math.cos(t) - 5 * Math.cos(2 * t) - 2 * Math.cos(3 * t) - Math.cos(4 * t));
heartPoints.push({ x, y });
}
}