boolean drawFlag = true;  //謠冗判繧定。後≧繧ソ繧、繝溘Φ繧ー縺九←縺�°繧呈アコ螳壹☆繧九€�

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

void draw() {

  if (drawFlag) {  //謠冗判繧ソ繧、繝溘Φ繧ー縺ァ縺ゅl縺ー
    background(255);

    float cx = width/2;  //蜀��荳ュ蠢�(x)
    float cy = height/2;  //蜀��荳ュ蠢�(y)
    float radius = width * 0.25;  //蜀��蜊雁セ�
    float radian = 0;  //隗貞コヲ
    float blur = 50;  //豁ェ縺ソ譛€螟ァ驥�

    float px = 0;  //1繝ォ繝シ繝怜燕縺ォ險ュ螳壹@縺毋蠎ァ讓吶r險倬鹸縺吶k縺溘a縺ョ螟画焚
    float py = 0;  //1繝ォ繝シ繝怜燕縺ォ險ュ螳壹@縺毓蠎ァ讓吶r險倬鹸縺吶k縺溘a縺ョ螟画焚

    for (int i = 0; i < TWO_PI/0.01; i ++) {

      radian += 0.01;  //隗貞コヲ(繝ゥ繧ク繧「繝ウ)繧呈ョオ髫守噪縺ォ蠅励d縺励※縺�¥

      float blurredRadius = radius + random(blur);  //蜊雁セ�r繝ゥ繝ウ繝€繝�縺ォ豎コ螳壹☆繧�(蝓コ譛ャ驥�+豁ェ縺ソ(0-50)縺ョ繝ゥ繝ウ繝€繝�)
      float p1x = cos(radian) * blurredRadius + cx;  //轤ケ1縺ョx蠎ァ讓吶r豎コ螳壹☆繧�
      float p1y = sin(radian) * blurredRadius + cy;  //轤ケ1縺ョy蠎ァ讓吶r豎コ螳壹☆繧�
      // 蜀�°蜍輔r菴懊k譎ゅ�x蠎ァ讓吶�cos,y蠎ァ讓吶�sin繧呈アコ繧∵遠縺。縺ァ隕壹∴繧九→濶ッ縺�→諤昴>縺セ縺�
      // x縺ッcos(繝ゥ繧ク繧「繝ウ) * 蜊雁セ� + 荳ュ蠢�せ縺ョx
      // y縺ッsin(繝ゥ繧ク繧「繝ウ) * 蜊雁セ� + 荳ュ蠢�せ縺ョy


      if (i > 0) {  //繝ォ繝シ繝励′2蝗樒岼莉・髯阪↓縺ョ縺ソ謠冗判縺吶k(1蝗樒岼縺ッ縺セ縺�px,py縺梧アコ螳壹@縺ヲ縺�↑縺��縺ァ)
        line(px, py, p1x, p1y);
      }

      px = p1x;  //谺。縺ョ繝ォ繝シ繝励�縺溘a縺ォx蠎ァ讓吶r菫晏ュ倥☆繧�
      py = p1y;  //谺。縺ョ繝ォ繝シ繝励�縺溘a縺ォy蠎ァ讓吶r菫晏ュ倥☆繧�
    }
    drawFlag = false;  //謠冗判縺檎オゆコ�@縺溘�縺ァ繝輔Λ繧ー繧断alse縺ォ縺励※縺翫¥
  }
}
void mousePressed() {
  drawFlag = true;  //謠冗判繧ソ繧、繝溘Φ繧ー縺ォ縺吶k
}