はんざき技研

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

【p5.js問題集】星形を描く2【5問目】

次のような星形の図形を描いてください。
大きさ、角の数、色などは自由。

function setup() {
  createCanvas(400, 400);
  background(220);

  const num = 12;
  const rad1 = 180;
  const rad2 = 100;
  
  fill(150,200,220);

  translate(width / 2, height / 2);
  beginShape();
  for (let i = 0; i < num; i++) {
    let angle = (TAU / num) * i;

    //分割数が偶数番目なら半径を小さいものに切り替える
    let rad = rad1;
    if (i % 2 == 0) {
      rad = rad2;
    }

    let x = rad * cos(angle);
    let y = rad * sin(angle);
    vertex(x, y);
  }
  endShape(CLOSE);
}

補足
分割数や半径の幅を変えると見た目を変化させることが出来る。