はんざき技研

プログラミングや3DCGの記録

【p5.js問題集】螺旋図形【8問目】


画像のような螺旋を描画してください。


解答例

function setup() {
  createCanvas(400, 400);
  background(220);
  
  //分割数
  const div = 100;
  //周回数
  const rounds = TAU * 2;
  //開始半径
  let rad = 0;
  //半径増加分
  const crease = 2;
  
  translate(width/2,height/2);
  noFill();
  
  beginShape();
  for(let i = 0; i < div; i ++){
    let angle = rounds / div * i;
    let x = rad * cos(angle);
    let y = rad * sin(angle);
    vertex(x,y);
    
    //半径を増加する
    rad += crease;
  }
  endShape();
  
}

補足
螺旋にもいくつかの種類がある。
例はアルキメデスの螺旋と呼ばれる幅が一定の形。
他にも放物螺旋や双曲螺旋などがある。