function generateQuantumField (ctx, size, color) {
  const points = 10 + Math.floor(Math.random() * 15)
  const fieldStrength = 10 + Math.random() * 10

  // Create virtual particles
  const particles = []
  for (let i = 0; i < points; i++) {
    particles.push({
      x: Math.random() * size,
      y: Math.random() * size,
      charge: Math.random() * 2 - 1
    })
  }

  // Draw field lines
  ctx.strokeStyle = color
  ctx.lineWidth = 0.8

  // Grid resolution
  const resolution = 15

  for (let i = 0; i <= resolution; i++) {
    for (let j = 0; j <= resolution; j++) {
      const x = (i / resolution) * size
      const y = (j / resolution) * size

      // Calculate field vector at this point
      let fieldX = 0
      let fieldY = 0

      for (const particle of particles) {
        const dx = x - particle.x
        const dy = y - particle.y
        const distance = Math.sqrt(dx * dx + dy * dy)
        const force = fieldStrength * particle.charge / (distance * distance + 100)

        fieldX += dx * force
        fieldY += dy * force
      }

      // Normalize field vector
      const magnitude = Math.sqrt(fieldX * fieldX + fieldY * fieldY)
      if (magnitude > 0) {
        fieldX = fieldX / magnitude
        fieldY = fieldY / magnitude
      }

      // Draw field vector
      const lineLength = 10 + Math.random() * 5
      ctx.beginPath()
      ctx.moveTo(x, y)
      ctx.lineTo(x + fieldX * lineLength, y + fieldY * lineLength)
      ctx.stroke()
    }
  }
}
Generates a quantum field theory inspired pattern