diff --git a/sketches/2images.js b/sketches/2images.js index c206227..3a2bae5 100644 --- a/sketches/2images.js +++ b/sketches/2images.js @@ -2,12 +2,13 @@ let img1, img2; async function setup() { try { - img1 = await loadImage('assets/wallpaper/dear.png'); - img2 = await loadImage('assets/wallpaper/elphantJap.jpg'); + img1 = await new Promise(resolve => loadImage('assets/wallpaper/dear.png', resolve)); + img2 = await new Promise(resolve => loadImage('assets/wallpaper/elphantJap.jpg', resolve)); } catch (err) { console.error('Image load failed', err); return; } + createCanvas(img1.width, img1.height); background(255, 255, 255) @@ -19,20 +20,22 @@ async function setup() { if (col % 2 == 0) { stroke(color(c)); strokeWeight(1); - point(col, row); + square(col-1, row-1, 1); } } } + console.log('img2 loaded'); for (let col = 0; col < img2.width; col += 1) { for (let row = 0; row < img2.height; row += 1) { let c = img2.get(col, row); if (col % 2 == 1) { stroke(color(c)); strokeWeight(1); - point(col, row); + square(col-1, row-1, 0.5); } } } + console.log('done'); } diff --git a/sketches/L-System.js b/sketches/L-System.js index e262bb9..2f2049d 100644 --- a/sketches/L-System.js +++ b/sketches/L-System.js @@ -302,7 +302,7 @@ function generateFractal() { decrementTurningAngle(); break; default: - // Ignore characters not in the specification (like X) + console.warn("Unknown character: " + c); break; } } diff --git a/sketches/image.js b/sketches/image.js index 576ef84..c1b4678 100644 --- a/sketches/image.js +++ b/sketches/image.js @@ -1,13 +1,13 @@ async function setup() { try { - img1 = await loadImage('assets/wallpaper/dear.png'); + img1 = await new Promise(resolve => loadImage('assets/wallpaper/dear.png', resolve)); console.log('img1 loaded'); } catch (err) { console.error('Failed to load dear.png', err); } try { - img2 = await loadImage('assets/wallpaper/elphantJap.jpg'); + img2 = await new Promise(resolve => loadImage('assets/wallpaper/elphantJap.jpg', resolve)); console.log('img2 loaded'); } catch (err) { console.error('Failed to load elphantJap.jpg', err); @@ -16,19 +16,37 @@ async function setup() { createCanvas(img1.width, img1.height); background(255, 255, 255) - //image(img1, 0, 0); - var glithes = random(3, 10); - for (let col = 0; col < img1.width; col += 1) { for (let row = 0; row < img1.height; row += 1) { let c = img1.get(col, row); stroke(color(c)); - strokeWeight(1); - point(col, row); + strokeWeight(2); + if (yesOrNo()) { + point(col, row); + } } } + + for (let col = 0; col < img2.width; col += 1) { + for (let row = 0; row < img2.height; row += 1) { + let c = img2.get(col, row); + stroke(color(c)); + strokeWeight(2); + if (yesOrNo()) { + point(col, row); + } + } + } + console.log('finished'); } +function yesOrNo(){ + if (random(0, 1) < 0.5) { + return true; + }else{ + return false; + } +} function draw() { diff --git a/sketches/imageOverlap.js b/sketches/imageOverlap.js new file mode 100644 index 0000000..0c8ec4d --- /dev/null +++ b/sketches/imageOverlap.js @@ -0,0 +1,92 @@ +let img1, img2; +let mode = [0,0,0]; //rgb each coloum says if 1 look for bigger if -1 look for smaller if 0 ignore in decition +let imageList = ["assets/wallpaper/dear.png", "assets/wallpaper/elphantJap.jpg", "assets/wallpaper/lagrugru.jpg"]; +let loadedImages = []; +async function setup() { + makeRandomMode(); + console.log(mode); + for (i = 0; i < imageList.length; i++) { + try { + loadedImages[i] = await new Promise(resolve => loadImage(imageList[i], resolve)); + console.log(imageList[i] + " loaded"); + } catch (err) { + console.error('Failed to load ' + imageList[i], err); + } + } + try { + img1 = await new Promise(resolve => loadImage('assets/wallpaper/dear.png', resolve)); + console.log('img1 loaded'); + } catch (err) { + console.error('Failed to load dear.png', err); + } + + try { + img2 = await new Promise(resolve => loadImage('assets/wallpaper/elphantJap.jpg', resolve)); + console.log('img2 loaded'); + } catch (err) { + console.error('Failed to load elphantJap.jpg', err); + } + + createCanvas(img1.width, img1.height); + background(255, 255, 255) + + for (let col = 0; col < img1.width; col += 1) { + for (let row = 0; row < img1.height; row += 1) { + if (img2.get(col, row) == null|| img2.get(col, row) == undefined) { + continue; + } + let color1 = img1.get(col, row); + let color2 = img2.get(col, row); + stroke(color(checkWhatPixelToTake(color1, color2))); + strokeWeight(2); + point(col, row); + } + } + console.log('finished'); +} + +function makeRandomMode() { + mode = [round(random(-1, 1)), round(random(-1, 1)), round(random(-1, 1))]; + if ([abs(mode[0]), abs(mode[1]), abs(mode[2])] == [0,0,0]) { + mode = [1,1,1]; + } +} + +function checkWhatPixelToTake(color1, color2) { + let sum1=0; + let sum2=0; + if (mode[0] == 1) { + sum1 += color1[0]; + sum2 += color2[0]; + }else if (mode[0] == -1) { + sum1 += (255-color1[0]); + sum2 += (255-color2[0]); + } + if (mode[1] == 1) { + sum1 += color1[1]; + sum2 += color2[1]; + }else if (mode[1] == -1) { + sum1 += (255-color1[1]); + sum2 += (255-color2[1]); + } + if (mode[2] == 1) { + sum1 += color1[2]; + sum2 += color2[2]; + }else if (mode[2] == -1) { + sum1 += (255-color1[2]); + sum2 += (255-color2[2]); + } + if (sum1 > sum2) { + return color1; + } else { + return color2; + } +} + +function draw() { + +} + +function mousePressed() { + +} \ No newline at end of file