I am inspired by the project, Material studies: Snow by Jarron Hasenjager. This piece of 3d graphic art shows the steps of creating a realistic looking snow on a 3d program. The algorithm has so many layers to it to make a white sphere look like a realistic snowball. The creator not only had to explore what to do to achieve a realistic look on snow but also needed to know which steps to take in a certain order and that needed artistic sensibility as well as technological understanding of 3d graphics. The ability of 3d rendering and how realistic it can be fascinates me and makes me want to study 3d graphics.
Author: Alicia
Project-04: String Art
var idx1;
var idx2;
var idy1;
var idy2;
var iNumLines=60;
var ox;
var oy;
var ox2;
var oy2;
function setup() {
createCanvas(400, 300);
background(0);
idx1=100/iNumLines;
idx2=200/iNumLines;
idy1=100/iNumLines;
idy2=200/iNumLines;
r=70;
r2=0.3;
ox=width/2;
oy=height/2;
ox2=width;
oy2=height;
}
function draw() {
fill(200,0,0)
//lightening
var ix1=150;
var ix2=300;
var iy1=130;
var iy2=80;
strokeWeight(1);
for (var i=0;i<=iNumLines;i+=1){
stroke(255,20,147); //deep pink
line(ix1+=idx1,iy1-=idy1,ix2-=idx2,iy2+=idy2);
}
noLoop();
//vertical hole
//loop over 2pi and the origin circulates.
for (var t=0;t<=360;t+=4){
strokeWeight(2.5);
stroke(255,250,205); //lemon
line(-30+ox+ox2*r2*Math.cos(radians(t)), 170+oy2*r2*Math.sin(radians(t))-5,
-30+ox+ox2*r2*Math.cos(radians(t)),150+oy2*r2*Math.sin(radians(t))+5);
}
noLoop();
//horizontal hole
//loop over 2pi and the origin circulates.
for (var t=0;t<=360;t+=4){
stroke(0,206,209); // turquoise
line(30+ox+5+ox2*r2*Math.cos(radians(t))-5, 170+oy2*r2*Math.sin(radians(t)),
30+ox+5+ox2*r2*Math.cos(radians(t))+5,150+oy2*r2*Math.sin(radians(t)));
}
noLoop();
//middle circle
strokeWeight(1);
//loop over 2pi
for (var theta=0;theta<=360;theta+=10){
//change origin 10 times
for (var change=0; change<=10;change+=10){
stroke(255);
line(ox+change+r*Math.cos(radians(theta)),oy+r*Math.sin(radians(theta)),
ox+change-r*Math.cos(radians(theta)),oy-r*Math.sin(radians(theta)));
}
}
noLoop();
}
Looking Outwards 04: Sound Art
Sugarcube is a generative art project by Amanda Ghassaei that uses MIDI and MaxMSP. The project uses real life movement and generates sounds. I suppose that the project uses hardware to track the movement of MIDI and generates a certain pattern of sound using algorithm. The creator puts together her artistic sensibility with an existing generative nature of MIDI pad to create a great generative piece. The project also has the same hardware as normal MIDI pads which makes the project very practical. It is also impressive that the MIDI pad connects to MaxMSP, the program and lets you control sound on your computer.
Read moreLooking Outwards 03: Computational Fabrication
This project is called Mygenchair by Teemu Seppänen An and it produces a random chair with different design every time with existing dataset of chair designs. The random and creative nature inspires me because it is continuously creating creative designs while not being creative. This program lets the computer, which has no creativity do creative work just with existing data sets. The algorithm is very complex because it creates a 3d object in great detail. The creator uses eiganface algorithm to identify the similarities and differences in chairs to auto generate chaid designs. Also, since the program subdivides mesh faces, the creator is able to create small details in design which adds complexity to normal 3d art. The creator’s artistic work can also be applied in real life very easily if he 3d prints the objects. The program is very impressive because it does the job of what multiple people would do: brainstorms, creates design, and produces.
Project-03: Dynamic Drawing
//Alicia Kim
//Section B
var r = 80;
var angle = 0;
function setup() {
createCanvas(450, 600);
background(220);
}
function draw() {
noStroke ();
//limiting y from 0 to 600
var y = max(min(mouseY, 600), 0);
// as y increases background gets lighter
background (255*y/650);
//top ellipse
fill (255,232,124); // star yellow
ellipse (width/2,37.5,25,25);
//trunk
fill (58.8,29.4,0); // brown
rect(width/2-17.5,65,35,450);
//leaves
// as y increases, size of the leaves increases & y position changes
push();
// higher the y, leaves get darker
fill (157-120*y/650,205-140*y/650,143-120*y/650); //frog
triangle(width/2, 50, width/3, 120, 2/3*width,120);
translate (-45*y/650,-25*y/650);
scale (1+0.2*y/650);
triangle(width/2, 50+65*y/650, width/3-8*1/3*y/650,
120+55*y/650, 2/3*width+8*1/3*y/650, 120+55*y/650);
translate (-45*y/650,-25*y/650);
scale (1+0.2*y/650);
triangle(width/2, 50+95*y/650, width/3-12.121212*y/650, 120+100*y/650,
width*2/3+12.121212*y/650, 120+105*y/650);
translate (-45*y/650,-25*y/650);
scale (1+0.2*y/650);
triangle(width/2, 50+140*y/650, width/3-15.68627*y/650, 120+150*y/650,
width*2/3+15.68627*y/650, 120+150*y/650);
translate (-45*y/650,-25*y/650);
scale (1+0.2*y/650);
triangle(width/2, 50+175*y/650, width/3-18.05956*y/650, 120+185*y/650,
width*2/3+18.05956*y/650, 120+185*y/650);
pop();
//ornaments
// higher the y, more ornaments appear
if (y>125){
fill (251,209,225); // ornaments pink
ellipse (width/2-10,88,25,25);
}
if (y>165){
fill (255,232,124); // ornaments yellow
ellipse (width/2+27,138,25,25);
}
if (y>210){
fill (255,218,173); // ornaments orange
ellipse (width/2,200,25,25);
}
if (y>270){
fill (250,128,114); // ornaments salmon
ellipse (width/3,220,25,25);
}
if (y>330){
fill (255,232,124); // ornaments yellow
ellipse (width/2-8,300,25,25);
}
if (y>390){
fill (255,218,173); // ornaments orange
ellipse (width-width/3,280,25,25);
}
if (y>440){
fill (255,232,124); // ornaments yellow
ellipse (width/3,360,25,25);
}
if (y>495){
fill (251,209,225); // ornaments pink
ellipse (width/2+14,400,25,25);
}
if(y>550){
fill (250,128,114); // ornaments salmon
ellipse (width-width/4,420,25,25);
fill (255,218,173); // ornaments orange
ellipse (width/4,450,25,25);
}
}
Project-02: Variable Faces; Face Variables
This project displays monkey’s emotions and also uses animations like the monkey’s eyes shaking and the monkey shedding tears.
//Alicia Kim
//Section B
var w = 26+(1/3);
var h = 26+(1/3);
var eyeWidth = 52+(2/3)
var eyeHeight =79
var v= 1
var r=255
var g=223
var b= 196
var change =0
var tear=0
var eyew=0
var eyeh=0
function setup() {
createCanvas(480, 640);
}
function draw() {
// background(180);
//normal happy
if (v==1){
tear=0
background(245,245,220);// pastel yellow
//ears
fill(255,223,196); //skin
ellipse(3.7*w, 11*h, 4*w, 3*h);
ellipse(14.2*w,11*h, 4*w, 3*h);
//inner ears //pink
fill(222,165,164);
ellipse(4*w, 11.2*h, 2*w, 2*h);
ellipse(14*w,11.2*h, 2*w, 2*h);
r=255;
g=223;
b=196;
}
//surprised
else if (v==2){
background(153,153,204);// purple
//ears
fill(255,223,196); //skin
ellipse(3.7*w, 11*h, 6*w, 1.5*3*h);
ellipse(14.2*w,11*h, 6*w, 1.5*3*h);
//inner ears //pink
fill(222,165,164);
ellipse(4*w, 11.2*h, 3*w, 3*h);
ellipse(14*w,11.2*h, 3*w, 3*h);
r=255;
g=223;
b=196;
}
// shy
else if (v==3){
background(250,218,221); //shy pink
//ears
fill(255,204,203); //baby pink
ellipse(3.7*w, 11*h, 4*w, 3*h);
ellipse(14.2*w,11*h, 4*w, 3*h);
//inner ears //pink
fill(222,165,164);
ellipse(4*w, 11.2*h, 2*w, 2*h);
ellipse(14*w,11.2*h, 2*w, 2*h);
r=252;
g=202;
b=191;
}
// sad
else if (v==4){
background(100);
//ears
fill(255,223,196); //skin
ellipse(3.7*w, 11*h, 4*w, 3*h);
ellipse(14.2*w,11*h, 4*w, 3*h);
//inner ears //pink
fill(222,165,164);
ellipse(4*w, 11.2*h, 2*w, 2*h);
ellipse(14*w,11.2*h, 2*w, 2*h);
r=255;
g=223;
b=196;
}
//face outline
strokeWeight(1);
fill(155,103,60);
beginShape();
curveVertex(7*w,2*h);
curveVertex(7*w,2*h);
curveVertex(8*w,4.5*h);
curveVertex(10*w,4.6*h);
curveVertex(13*w,5*h);
curveVertex(15.5*w,7*h);
curveVertex(14*w,11*h);
curveVertex(16*w,14*h);
curveVertex(13*w,16*h);
curveVertex(9.5*w,16.5*h);
curveVertex(5*w,16*h);
curveVertex(2*w,14*h);
curveVertex(4*w,11*h);
curveVertex(2.8*w,8.5*h);
curveVertex(3*w,6*h);
curveVertex(5*w,4.5*h);
curveVertex(5.5*w,2.5*h);
curveVertex(6.5*w,4.5*h);
curveVertex(7*w,2*h);
curveVertex(7*w,2*h);
endShape();
//inner face outline
strokeWeight(1);
fill(r,g,b);
beginShape();
curveVertex(9.5*w,8*h);
curveVertex(9.5*w,8*h);
curveVertex(11.3*w,7*h);
curveVertex(13.3*w,8.5*h);
curveVertex(12.8*w,12.5*h);
curveVertex(14*w,14*h);
curveVertex(12.5*w,16*h);
curveVertex(5.7*w,15.9*h);
curveVertex(4.4*w,14*h);
curveVertex(5.5*w,12.5*h);
curveVertex(5*w,8.5*h);
curveVertex(7*w,7*h);
curveVertex(9.5*w,8*h);
curveVertex(9.5*w,8*h);
endShape();
//normal happy
if (v==1){
eyeh=0
eyew=0
//eyes
fill (255,255,255); //white
ellipse(7.5*w,11.2*h, eyeWidth, eyeHeight);
ellipse(11*w, 11.2*h, eyeWidth, eyeHeight);
//mouth
fill(255,120,144); //dark pink
arc (9.25*w, 15*h, 2*w,1.5*h , 0, PI, CHORD);
//blush
fill(222,165,164); //pink
ellipse(7.1*w,14.2*h,1*w,0.5*h);
ellipse(11.4*w,14.2*h,1*w,0.5*h);
// inner eyes
fill(0,0,0);
ellipse(7.8*w, 11.5*h, 0.5*eyeWidth, (2/3)*eyeHeight);
ellipse(10.7*w, 11.5*h, 0.5*eyeWidth, (2/3)*eyeHeight);
//nose
fill(0,0,0);
ellipse(9*w, 13.5*h, 0.3*w, 0.5*h);
ellipse(9.5*w, 13.5*h, 0.3*w, 0.5*h);
}
//surprised
else if (v==2){
//eyes
fill (217,33,33); //red
ellipse(7.5*w,11.2*h, eyeWidth*1.5, eyeHeight*1.5);
ellipse(11*w, 11.2*h, eyeWidth*1.5, eyeHeight*1.5);
//mouth
fill(255,120,144); //dark pink
arc (9.25*w, 15*h, 4.5*w,3*h , 0, PI, CHORD);
// inner eyes
// fill(0,0,0);
// ellipse(7.8*w, 11.5*h, eyeWidth, (4/3)*eyeHeight);
// ellipse(10.7*w, 11.5*h, eyeWidth, (4/3)*eyeHeight);
fill(0,0,0);
if (eyew<eyeWidth){
eyew+=.4
}
if (eyeh<eyeHeight){
eyeh+=.4
}
ellipse(7.8*w, 11.5*h, eyew, eyeh);
ellipse(10.7*w, 11.5*h, eyew, eyeh);
//nose
fill(0,0,0); //black
ellipse(8.9*w, 13.5*h, 0.7*w, 1*h);
ellipse(9.7*w, 13.5*h, 0.7*w, 1*h);
}
//shy
else if (v==3){
//eyes
fill (255,255,255); //white
ellipse(7.5*w,11.2*h, eyeWidth, eyeHeight);
ellipse(11*w, 11.2*h, eyeWidth, eyeHeight);
//heart eyes
//mouth
fill(255,120,144); //dark pink
arc (9.25*w, 15*h, 2*w,1.5*h , 0, PI, CHORD);
//blush
fill(255,204,203); //baby pink
ellipse(7.1*w,14.2*h,3*w,1.5*h);
ellipse(11.4*w,14.2*h,3*w,1.5*h);
// inner eyes
fill(0,0,0);
if (change>7){
change=-2
}
else if (change<=-10){
change=2
}
else {
change+=0.5
}
ellipse(7.8*w+change, 11.5*h, 0.5*eyeWidth, (2/3)*eyeHeight);
ellipse(10.7*w+change, 11.5*h, 0.5*eyeWidth, (2/3)*eyeHeight);
//nose
fill(0,0,0);
ellipse(9*w, 13.5*h, 0.3*w, 0.5*h);
ellipse(9.5*w, 13.5*h, 0.3*w, 0.5*h);
}
//sad
else if (v==4){
//eyes
fill (0,255,255); //cyan
ellipse(7.5*w,11.2*h, eyeWidth, eyeHeight);
ellipse(11*w, 11.2*h, eyeWidth, eyeHeight);
//mouth
fill(255,120,144); //dark pink
arc (9.25*w, 15*h, 2*w,1.5*h , PI, 2*PI, CHORD);
// inner eyes
fill(0,0,0);
ellipse(7.8*w, 11.5*h, 0.3*eyeWidth, (2/3)*eyeHeight);
ellipse(10.7*w, 11.5*h, 0.3*eyeWidth, (2/3)*eyeHeight);
//nose
fill(0,0,0);
ellipse(9*w, 13.5*h, 0.3*w, 0.5*h);
ellipse(9.5*w, 13.5*h, 0.3*w, 0.5*h);
//tears
tear+=2
fill (0,255,255); //cyan
ellipse(11*w, 13*h+tear, 0.1*eyeWidth, 0.1*eyeHeight);
ellipse(11*w, 13.5*h+tear, 0.1*eyeWidth, 0.1*eyeHeight);
ellipse(11*w, 14*h+tear, 0.1*eyeWidth, 0.1*eyeHeight);
ellipse(11*w, 12.5*h+tear, 0.1*eyeWidth, 0.1*eyeHeight);
ellipse(7.5*w, 13*h+tear, 0.1*eyeWidth, 0.1*eyeHeight);
ellipse(7.5*w, 13.5*h+tear, 0.1*eyeWidth, 0.1*eyeHeight);
ellipse(7.5*w, 14*h+tear, 0.1*eyeWidth, 0.1*eyeHeight);
ellipse(7.5*w, 12.5*h+tear, 0.1*eyeWidth, 0.1*eyeHeight);
}
}
function mousePressed(){
v+=1;
if (v>4){
v=1;
}
}
.
Looking Outwards 02: Generative Art _Alicia Kim
The generative art piece that inspired me was Aaron Koblin’s project called Flight Patterns. This piece of art is created by parsing FAA data and creates different lines and colors according to flight paths. This project is impressive not only because of the technology and algorithm put into it but also the presentation of different colors and how he made multiple days worth of flights into one photo. Especially the intersections between flight paths generate a big spectrum of colors of light and as well as more tones. I suppose that he parsed multiple days of FAA data and made it into a single data piece and the colors represent different time, generating a large spectrum of colors. The different colors for different time was very intentional and generated a beautiful combination of brightness and tone. The creator’s ability to program and analyze data boosted his artistic ability to create this great piece.
http://www.aaronkoblin.com/project/flight-patterns/
- FinalProject
- LookingOutwards-01
- LookingOutwards-02
- LookingOutwards-03
- LookingOutwards-04
- LookingOutwards-05
- LookingOutwards-06
- LookingOutwards-07
- LookingOutwards-08
- LookingOutwards-09
- LookingOutwards-10
- LookingOutwards-11
- Project-01-Face
- Project-02-Variable-Face
- Project-03-Dynamic-Drawing
- Project-04-String-Art
- Project-05-Wallpaper
- Project-06-Abstract-Clock
- Project-07-Curves
- Project-09-Portrait
- Project-10-Sonic-Story
- Project-11-Landscape
- SectionA
- SectionB
- SectionC
- SectionD
- SectionE
- Uncategorized