xxxxxxxxxx
71
let bg
let img
let numTorus
let angle = []
let radius = []
let torusWidth = []
function setup() {
bg = loadImage('');
createCanvas(600, 600, WEBGL)
setAttributes("antialias", true)
textureWrap(REPEAT)
randomSeed(42)
}
function generateNumberSequenceImages(amt, w, h) {
var images = [];
for(var i = 1; i <= amt; i++) {
var img = createGraphics(w, h);
img.textSize(100);
img.noStroke();
img.fill(255)
img.text(i, w / 2, h / 2);
images.push(img);
}
return images;
}
function preload()
{
//bg = loadImage('lava2.jpg')
imageArray = generateNumberSequenceImages(5, 256, 256);
img = random(imageArray);
// 1-6, 6-15, 15-30: 5, 90, 5
numTorus = Math.floor(random(1, 30))
console.log('numTorus:', numTorus)
for (let i = 0; i < numTorus; ++i) {
// 0.5-2, 0.5-6
torusWidth.push(random(0.5, 50))
radius.push(random(1, 225))
angle.push(random(0.00009, 0.005))
console.log('angle:',i, angle[i])
console.log('radius:',i, radius[i])
console.log('torusWidth:', i, torusWidth[i])
}
}
function draw() {
background(255);
noStroke()
// texture(bg)
// translate(0,0,-400)
// plane(1200, 1200)
// translate(0,0,400)
texture(img)
background('black')
directionalLight(250, 250, 250, 0, 0, -1)
for (let i = 0; i < numTorus; ++i) {
rotateX(frameCount * angle[i])
rotateY(frameCount * angle[i])
rotateZ(frameCount * angle[i])
torus(radius[i], torusWidth[i], 50, 50)
}
}