PVector polar( float r, float theta )
{
  float x = r * cos( radians( theta ) );
  float y = r * sin( radians( theta ) );
  
  return new PVector( x, y );
}

float phi = 137.508;

void setup()
{
  size( 600, 600 );
}

void draw() 
{
  background( 255 );
  
  noStroke();
  fill( 0 );
  
  for( int idx = 0; idx < 500; ++idx ) {
    float r = 10 * sqrt( idx );
    float theta = phi * idx;
    
    PVector pt = polar( r, theta + -frameCount * phi );
    
    ellipse( pt.x + width/2, pt.y + height/2, 15, 15 );
  }
}