//Dana Kim
//danakim@andrew.cmu.edu
//Section D
//Project-05
function setup() {
createCanvas(480, 480);
background(256);
}
function draw() {
for ( var i = 0; i < 480; i+=240){ //repeats pattern in y-direction
for (var x = 0; x < 500; x+=48){ //repeats shapes in x-direction
var h1 = random(30, 90); //randomized height for lines going down
var h2 = random(130, 190); //randomized height for lines going up
stroke((x+20)/.5, x/1.5, x/3);
strokeWeight(48);
line(x, 0+i, x, h1+i); //first row of lines
line(x, 240+i, x, h2+i); //second row of lines
stroke((x+20)/.5, x/1.5, x/3);
strokeWeight(1);
fill(256);
ellipse(x, (h2-10)+i, 48, 35); //circles that rest on lines
}
}
noLoop();
}
This project was fairly easy. I had the most trouble with figuring out how to get the line colors to be a gradient. I had originally wanted to make each line have a gradient color to make it seem more like cylinders. Instead, I made each line a solid color so it would be easier to distinguish each cylinder. The heights of each cylinder was randomized.
WHen it comes to computer generated 3D art, Ian Cheng, the recent speaker in Carnegie Mellon University comes up to mind. Ian Cheng focuses on making ‘simulations’, where artificial intelligence and instructions and given to the computer. These instructions and tasks are performed by characters that are given physical body through 3D generative graphic arts. I personally find Ian Cheng’s works with 3D graphics interesting as he creates another reality that we, as humans, can comprehend are made up, yet still eerily realistic. 3D graphic computers allow a whole new world to exist upon the reality we currently live in. You may find more examples of Ian Cheng’s works here.
In the field of Architecture renderings of buildings have always been used to sell ideas. In order to win competitions or get clients, firms must produce a compelling case for their ideas. But, most people that aren’t architects cannot conceptualize space in plan, section, and elevation, so architects must make renderings in perspective of their ideas. Each rendering is a work of art so I couldn’t pick just one. Instead I will share my discovery of a firm called Studio Cyrille Thomas that works only as a rendering firm.
With their team of architects, artists, and experts in digital rendering. They create works of art with 3D modeling software such as Rhino, SketchUp, and Revit alongside Vray (a rendering software) and photoshop for architecture firms that need to sell their ideas to clients. I believe their rendering work is some of the most compelling because of their ability to capture the atmosphere that aligns with the architect’s concept behind each space. Anyone can learn to use these software to create a realistic looking image, but not many people can create a work of art that truly captures the feeling of being in a wonderfully designed space.
Artist: beeple Project(s?): everydays
Brief Description: Beeple create[d] new 3D computer graphics everyday and posted it to his website for over 3800 days.
For this post’s specific purpose, I will highlight a fairly recent piece he created, as well as another video of his process in creating a piece.
Above is a process video of a piece he created. As you can see from the video, Beeple uses Cinema 4D with various plugins to create most of his pieces. Although I didn’t really see any significant algorithmic or code-able things within these pieces, I found it utterly fascinating how detailed and beautiful these 3D renderings of make-believe images are. Through the video, we can see that he turned a screenshot of a topographic image and used a plugin to turn it into 3D, which probably used an algorithm to see the depth of the ground through tonal values. It is also visible that he created the structure itself by hand, detail by detail.
This is another piece I admire by Beeple. Although I don’t quite know the process of this piece, I found it amazing that this all was created in 3D space, detail by detail, just to be rendered into this, albeit amazing, 2D image.
//Kyunga Ko
//15104B
//kyungak@andrew.cmu.edu
//Project-05
var rows = 8;
var collums = 8;
var cirdia = 85;
var disX = 60;
var disY = 60;
var disX2 = 30;
var disY2 = 30;
function setup() {
createCanvas(480, 480);
noStroke();
}
function draw() {
bloomingbackground();
}
function bloomingbackground() {
background(255);
for (var r=0; r<=rows; r++) {
for (var c=0; c<=collums; c++) {
if ((r+c)%2 == 0) {
fill(135,47,40,50);
}
else {
fill(240,177,173,100);
}
//creates flower shaped pedals and the star shaped background
ellipse(disX*c,disY*r,cirdia,cirdia); //overlap of bigger ellipse
}
}
for (var r=1; r<=15; r++) {
for (var c=1; c<=15; c++) {
if((r+c)%2 == 0 & r%2 == 1) {
fill(255,255,255,200);
noStroke();
ellipse(disX2*r,disY2*c,20,20); // white center of the flowers
strokeWeight(2);
stroke(255,255,255,100);
line(disX2*r,disY2*c-20,disX2*r,disY2*c-10); //upper pedal line
line(disX2*r,disY2*c+10,disX2*r,disY2*c+20); //lower pedal line
line(disX2*r-20,disY2*c,disX2*r-10,disY2*c); //left pedal line
line(disX2*r+10,disY2*c,disX2*r+20,disY2*c); //right pedal line
}
}
}
noLoop();
}
The theme of this wallpaper is blooming flowers. I created pedals by playing with the transparency of the for looped ellipses. The overlapping parts became more saturated than the background and thus looked like pedals from the screen. I then added white pedal marks on each pedals to emphasize the flowers over the pink and brownish background. The results were satisfying and the process allowed me to thoroughly practice the for loop function once again. It was fun.
Warde “Home Is A Quest” DIRECTOR’S CUT is an animated commercial made by Leo Burnett for Warde, which is “the biggest reseller of fabrics in the middle east and Africa” and is known world-wide for these designs.
While I really love the animation itself, I felt that the music and narration weakened the video and made it feel gimmicky and cheesy. Even if it was the producer’s intention to have the video be light and upbeat, it felt overdone. The soundtrack that is chosen for a video is incredibly important and can easily change the mood. This choice can make or break a project.
“That’s when we know we arrived: home,” is what I think the most powerful line of this commercial because of the image it’s paired with: baby birds in their nest being fed by their mother. Unfortunately, this scene ended as quickly as it appeared. I wish it lasted longer because the concept of home and comfort seems to be the main theme of this commercial, but it ended so quickly and was not able to have as much of an impact.
Still, I really love how the landscapes of the animation look like soft fabrics. The rolling hills and even the rocks are comforting despite being in the wilderness.
//Ashley Chan
//Secion C
//ashleyc1@andrew.cmu.edu
//Project-05-Wallpaper
var slant; //diagonal angle of line
var offsetX; //line space of x
var x; //x-value of gold lines
//setup is executed once at the launch
function setup() {
createCanvas(400, 400);
background(10, 51, 80);
x = 0;
slant = 500;
offsetX = -800;
}
function draw() {
drawDiagonalLines();
drawMiddleGoldLines();
drawTopGoldLines();
drawBottomGoldLines();
drawOrnaments();
}
function drawDiagonalLines() {
//outer white diagonal lines going up
for (var i = 0; i <= width; i = i + 1){
stroke(219, 179, 2);
line (offsetX, 0, offsetX + slant, height);
line(offsetX, 0, offsetX - slant, height);
offsetX += 200;
}
}
function drawMiddleGoldLines() {
for (var x = 0; x <= 50; x += 1){
for (var y = 240; y <= height; y += 40){
stroke(219, 179, 2);
strokeWeight(1);
//cone part of lines
line (x, 240, (x + slant) - 450, height/5);
line (x, 240, (x + slant) - 550, height/5);
line (x - 50, 240, (x + slant) - 600, height/4);
line (x - 150, 240, (x + slant) - 600, height/4);
//top of diamond cones
line (x - 100, 280, (x + slant) - 550, 240);
line (x - 100, 280, (x + slant) - 650, 240);
line (x - 150, 240, (x + slant) - 450, height/5);
line (x - 50, 240, (x + slant) - 750, height/5);
//diamond criss-cross
line (x, 40, (x + slant) - 450, height/5);
line (x - 50, 80, (x + slant) - 500, height/10);
line (x, 120, (x + slant) - 450, height/5);
line (x, 120, (x + slant) - 550, height/5);
x += 200;
}
}
}
function drawTopGoldLines() {
push();
translate(0, -158);
drawMiddleGoldLines();
pop();
}
function drawBottomGoldLines() {
push();
translate(0, 160);
drawMiddleGoldLines();
pop();
}
function drawOrnaments() {
for (x=0; x <= width; x = x + 200){
for (y = 0; y <= height; y = y + 160){
fill(255);
strokeWeight(2);
ellipse(x, y, 10, 10);
ellipse(x + 100, y + 80, 10, 10);
//petals
ellipse(x, y - 20, 10, 20);
ellipse(x, y + 20, 10, 20);
ellipse(x - 20, y, 20, 10);
ellipse(x + 20, y, 20, 10);
}
}
}
I tend to enjoy wallpapers/designs with a subtle, floral element over a geometric background. My process for this project was fairly experimental and non-linear. I initially sketched out some diagonals for myself and then figured I’d just play with p5 until I got a floral shape that I enjoyed. In reality, I had fun altering the start and end points of the diagonal lines so much so that I was creating different layering effects with them. I decided then that the floral element that would sit on top had to be very simple otherwise the pattern would be overloaded. Overall, my final result stemmed from a lot of playing and deviating from my initial sketch. I’m content with the final design and if I were to have this printed on fabric, I would sew and wear it.
I wanted to create a wallpaper pattern that could potentially look nice as a glow-in-the-dark, so I made a crescent moon shape with the fill and avoided the stroke color with vivid colors.
Chaotic Atmospheres is an artist dedicated to creating surreal landscapes and environments. This project in particular was created using e-on Vue 8 along with procedural landscapes, allowing for the creation of unlimited, unique asteroids.
To me, the texture of the images is what strikes me first. If you look at a few of the asteroids under the project page (a link will be provided below), each texture slightly varies from the other, and in combination with exposure/shadows, works to create an extremely strong mood. Each asteroid has a focus and direction. It’s amazing how an artist can render a landscape procedurally, that stands its ground as the main focus, not just a cool environment.
In some ways, I wonder if the procedural aspect of these asteroids lead to a more organic aesthetic. Nature is quite random and chaotic, after all, and as hard as we try, it might be hard to entirely emulate that chaos. That is certainly something to think about in future projects attempting to capture something organic.
In addition, something I took away from this project was the lighting and exposure… Like a photographer setting up a portrait, Chaotic Atmospheres sets up the lighting and exposure to give the image a certain mood. At first glance, all I thought about was the details of the asteroid… but I quickly realized that what actually drew me to these asteroids was the well executed lighting. In the future, I will keep that in mind for my images… especially in regards to procedural lighting and exposure. Or perhaps the generated portion of the project should be procedural, and the lighting and exposure can be where the individuals artistic sensibilities comes in.
// katie chen
// project 05
// section E
// katieche@andrew.cmu.edu
function setup (){
createCanvas (480, 480);
background (230);
var c = 80; // how close together they are in a row
var lh = 80; // line height
var w = 80; // width
rectMode(CENTER);
for (var y = 0; y < 9; y++) {
var z = 9;
for (var x = 0; x < z; x++) {
//var z = 10;
var py = y * lh;
var px = x * c;
noFill();
stroke(220);
if (y % 2) {
var z = 8;
strokeWeight(1);
stroke(240);
rect(px+(0.5*c), py, w, w);
rect(px+(0.5*c), py, 50, 50);
// white horizontal long rectangles
stroke(250);
strokeWeight(2);
rect(px, py, 70, 20);
// white diagonals
stroke(250);
strokeWeight(2);
//line (px-30, py-30, px+30, py+30);
//line (px-30+(2*c), py-30, px+30, py+50);
//line (px-30+(2.2*tw), py-30, px+30, py+50+(2.2*tw));
}
else {
strokeWeight(1);
stroke(240);
rect(px, py, 70, 30);
rect(px, py, 30, 60);
strokeWeight(2);
stroke(250);
rect(px, py, 75, 10);
rect(px, py, 10, 70);
// white vertical long rectangles
stroke(250);
strokeWeight(2);
rect(px+(0.5*c), py, 20, 150);
// white diagonals
stroke(250);
strokeWeight(2);
//line (px-30, py-30, px+30, py+30);
//line (px-30+(2*c), py-30, px+30, py+50);
//line (px-30+(2*tw), py-30, px+30, py+50+(2*tw));
}
}
}
noLoop();
}
function draw (){
}
For this project, I started off by looking at existing wallpapers for inspiration. After doing some sketching, I tried to recreate my sketches but then started going into a different direction and doing more guess and check. I knew I wanted to keep a neutral and subtle palette.