02-07 文字を描く(一筆書きできない場合)

「A」、「山」などの一筆書きできない文字を描く。

「A」は「Λ」と「-」の2つの直線群で考える。このように一筆書きできない場合は終点フラグを導入する。一筆書きできる直線群の最後の点のフラグを「1」とし、ここから次の直線群の始点へは直線を描かないようにする。

例題2-7-1

「A」を描く。

コード

function setup() {
  createCanvas(100, 100);
}

function draw() {
  background(220);
  let f = [0, 0, 1, 0, 1];  // 終点フラグ
  let x = [10, 50, 90, 30, 70]  // A
  let y = [90, 10, 90, 50, 50]
  for (let i = 0; i < x.length - 1; i++) {
    if (f[i] == 0)
      line(x[i], y[i], x[i + 1], y[i + 1]);
  }
}

結果

練習問題2-7-1

以下の文字を描きなさい。

結果