03-05 幾何学模様

学習日

2025年6月10日

名前

中村 結

✅ 練習問題 3-5-1

function setup() {
  createCanvas(640, 480);
  background(220);
  const RADIAN = Math.PI / 180;  
  let leng = 400.0;  // 対角線の初期値
  setpoint(50,100); setangle(-45);
  for (let i = 1; i <= 10; i++) {
    move(leng);  // 対角線を引く
    let x = leng * Math.cos(45 * RADIAN); 
    let y = leng * Math.sin(45* RADIAN); 
    turn(180 - 45 ); move(y);
    turn(90); move(x);
    turn(90); move(y);
    turn(90); move(x);
    turn(45);
    leng = leng / Math.sqrt(2.0);
  }
}

📷 実行結果

✅ 練習問題 3-5-2

function setup() {
  createCanvas(500, 480);
  background(220);
  const RADIAN = Math.PI / 180;  
  let leng = 400.0;  // 対角線の初期値
  setpoint(50, 100); setangle(-54.7);
  for (let i = 1; i <= 10; i++) {
    move(leng);  // 対角線を引く
    let x = leng * Math.cos(54.7 * RADIAN); 
    let y = leng * Math.sin(54.7 * RADIAN); 
    turn(180 - 35.3); move(y);
    turn(90); move(x);
    turn(90); move(y);
    turn(90); move(x);
    turn(35.3);
    leng = leng / Math.sqrt(4.0);
  }
}

📷 実行結果

✅ 練習問題 3-5-3

function setup() {
  createCanvas(640, 480);
  background(220);
  const RADIAN = Math.PI / 180;  
  let leng = 400.0;  // 対角線の初期値
  setpoint(50, 100); setangle(-54.7);
  for (let i = 1; i <= 10; i++) {
    if(i%2 == 0){
    stroke(0,0,225);   
    }
    else{
    stroke(225,0,0);  
    }
    move(leng);  // 対角線を引く
    let x = leng * Math.cos(54.7 * RADIAN); 
    let y = leng * Math.sin(54.7 * RADIAN); 
    turn(180 - 35.3); move(y);
    turn(90); move(x);
    turn(90); move(y);
    turn(90); move(x);
    turn(35.3);
    leng = leng / Math.sqrt(2.0);
  }
}

📷 実行結果

まとめ・感想

・長方形の内部角度や最初の角度を変えることで長方形の比率を変えて幾何学模様を描くことができる

・偶数か奇数かを判断するときは( 数値 % 2 == 0 )を使えばいい

コメントする