going back to the first assignment, creating a portrait of an alien with stars popping in the back of the head. I took the starry night background and tried to enhance it so i can create an artwork pulling it out from the first assignment. At the beginning I tried to make it animated and the stars move horizontally in the canvas but It was challenging for me and faced a lot of errors. but I thought of making it still within the canvas and give it a twinkle effect, by the help of a youtube video, I was able to create the starry night and the twinkle effect. I faced a challenge with the format of the canvas that if I add 44 to the width it doesn’t fully appear on the web, even with the previous assignment.
let stars = []; let numStars = 200; function setup() { createCanvas(800, 644); for (let i = 0; i < numStars; i++) { stars.push(new Star()); // Create and add stars } } function draw() { background(18, 18, 30); // dark blue sky stars.forEach(star => { star.twinkle(); // Update star properties for twinkle effect star.move(); // Move the star slightly star.show(); // Display the star }); } class Star { constructor() { this.x = random(width); this.y = random(height); this.size = random(0.25, 3); this.brightness = random(150, 255); } move() { this.x += random(-1, 1); this.y += random(-1, 1); // Keep stars in canvas this.x = constrain(this.x, 0, width); this.y = constrain(this.y, 0, height); } twinkle() { // twinkling this.size = random(0.25, 3); this.brightness = random(150, 255); } show() { noStroke(); fill(this.brightness); circle(this.x, this.y, this.size); } }
Reflection:
I found this assignment very helpful in terms of pulling something I built before and enhancing it to become a new artwork and apply the new things we learnt in class is an effective way of learning.