xxxxxxxxxx
// sketch.js
// 減衰していくネットワークの描画
function setup() {
createCanvas(1200, 900);
background(0, 0, 0);
for (let i = 0; i < 3; i++) {
let start_x = random(0, width);
let start_y = random(0, height);
let depth = 10; //ネットワークのノード数
let r = random(100, 255);
let g = random(100, 255);
let b = random(100, 255);
draw_network(depth, start_x, start_y, 100, 2, r, g, b, 15);
//mesh 座標移動の最大値
//col_change_range 色の変化度合い
}
}
function draw_network(depth, start_x, start_y, mesh, spread, r, g, b, col_change_range) {
if (depth == 0) {
return;
}
if (depth > 0) {
for (let i = 0; i < spread; i++) {
let end_x = random(start_x - mesh, start_x + mesh);
let end_y = random(start_y - mesh, start_y + mesh);
stroke(r, g, b);
line(start_x, start_y, end_x, end_y);
r = rgb_range_conditioner(r - col_change_range);
g = rgb_range_conditioner(g - col_change_range);
b = rgb_range_conditioner(b - col_change_range);
draw_network(depth - 1, end_x, end_y, mesh, spread, r, g, b, col_change_range); //再帰して次の線を描画
}
}
}
function rgb_range_conditioner(color) {
if (color > 255) {
color = 255;
}
if (color < 0) {
color = 0;
}
return color;
}
function draw() {
}