Global variables v.s. local variables
subroutine calls
EX:
use subroutine call to perform 10 x 10 element-drawing.
2017年9月28日 星期四
2017年9月21日 星期四
week 2. statement and structure
1. ACG at MIT Media Lab.
Aesthetic and computation Concept video
2. for-loop
if
FORM+CODE examples
Ex: Draw 10x10 basic elements with some repetition
Aesthetic and computation Concept video
2. for-loop
if
FORM+CODE examples
Ex: Draw 10x10 basic elements with some repetition
2017年9月14日 星期四
week 1. introduction
Aesthetic Computing: A Brief Tutorial
An Introduction to Aesthetic Computing by Paul Fishwick
booklist
conceptual art
computational aesthetics ?
FORM + CODE
Wassily Kandinsky
Victor Vasarely
Sol Lewitt
code artists:
Ben Laposky, 1914-2000
John Whitney Sr., 1918-1995
Herbert W. Franke, 1927-
Lillian Schwartz, 1927-
Harold Cohen, 1928-
Roman Verostko, 1929-
George Legrady, 1950-
Mark Napier, 1961-
John F. Simon Jr., 1963-
John Maeda, 1966-
Mary Flanagan, 1969-
Casey Reas, 1970-
Jared Tarbell, 1973-
Ben Fry, 1975-
EX1:
Take photos of Computational Aesthetics in everyday life.
An Introduction to Aesthetic Computing by Paul Fishwick
booklist
conceptual art
computational aesthetics ?
FORM + CODE
Wassily Kandinsky
Victor Vasarely
Sol Lewitt
code artists:
Ben Laposky, 1914-2000
John Whitney Sr., 1918-1995
Herbert W. Franke, 1927-
Lillian Schwartz, 1927-
Harold Cohen, 1928-
Roman Verostko, 1929-
George Legrady, 1950-
Mark Napier, 1961-
John F. Simon Jr., 1963-
John Maeda, 1966-
Mary Flanagan, 1969-
Casey Reas, 1970-
Jared Tarbell, 1973-
Ben Fry, 1975-
EX1:
Take photos of Computational Aesthetics in everyday life.
2016年12月20日 星期二
week 15. projection mapping
1. self-portrait demo
2. kick-off the final project : "projection mapping"
Deadline: Jan. 11, 2016
2 students at most in a team
Processing + physical model + projector
references:
http://www.creativebloq.com/video/projection-mapping-912849
http://projection-mapping.org/
https://www.pinterest.com/nnnnnnadine/3d-mapping/
2. kick-off the final project : "projection mapping"
Deadline: Jan. 11, 2016
2 students at most in a team
Processing + physical model + projector
references:
http://www.creativebloq.com/video/projection-mapping-912849
http://projection-mapping.org/
https://www.pinterest.com/nnnnnnadine/3d-mapping/
2016年12月13日 星期二
week 14. self portrait project
http://shanear.com/artworks/typoportrait
Typo Portraits
pointillism portraits
cubist portrait
Question:
How to generate "typo portraits"?
self portrait in particles
Self Portrait Demo:
12/21, 2017
Typo Portraits
pointillism portraits
cubist portrait
Question:
How to generate "typo portraits"?
self portrait in particles
Self Portrait Demo:
12/21, 2017
2016年12月6日 星期二
2016年11月29日 星期二
week 12, array objects
example:
https://processing.org/examples/arrayobjects.html
Exercise:
1.
change 1-dimension array into 2-dimension
Module [] mods; v.s. Module[][] mods;
2. change objects into 3D
3. Change update() to respond to mouseX, mouseY
Sample codes for 2D array of objects
---------------------------------------------------------
int unit = 40;
int count;
int wideCount;
int highCount;
Module[][] mods;
void setup() {
size(640, 360, P3D);
lights();
//noStroke();
wideCount = width / unit;
highCount = height / unit;
//count = wideCount * highCount;
mods = new Module[highCount][wideCount];
// int index = 0;
for (int y = 0; y < highCount; y++) {
for (int x = 0; x < wideCount; x++) {
mods[y][x] = new Module(x*unit, y*unit, unit/2, unit/2, random(0.05, 0.8), unit);
}
}
}
void draw() {
background(0);
for (int y = 0; y < highCount; y++) {
for (int x = 0; x < wideCount; x++) {
mods[y][x].update();
mods[y][x].display();
}
}
/* for (Module mod : mods) {
mod.update();
mod.display();
}
*/
}
class Module {
int xOffset;
int yOffset;
float x, y;
int unit;
int xDirection = 1;
int yDirection = 1;
float speed;
// Contructor
Module(int xOffsetTemp, int yOffsetTemp, int xTemp, int yTemp, float speedTemp, int tempUnit) {
xOffset = xOffsetTemp;
yOffset = yOffsetTemp;
x = xTemp;
y = yTemp;
speed = speedTemp;
unit = tempUnit;
}
// Custom method for updating the variables
void update() {
}
// Custom method for drawing the object
void display() {
fill(255);
ellipse(xOffset + x, yOffset + y, 6, 6);
pushMatrix();
translate(xOffset, yOffset, -random(100));
rotateY(1.25);
rotateX(-0.4);
box(30);
popMatrix();
}
}
https://processing.org/examples/arrayobjects.html
Exercise:
1.
change 1-dimension array into 2-dimension
Module [] mods; v.s. Module[][] mods;
2. change objects into 3D
3. Change update() to respond to mouseX, mouseY
Sample codes for 2D array of objects
---------------------------------------------------------
int unit = 40;
int count;
int wideCount;
int highCount;
Module[][] mods;
void setup() {
size(640, 360, P3D);
lights();
//noStroke();
wideCount = width / unit;
highCount = height / unit;
//count = wideCount * highCount;
mods = new Module[highCount][wideCount];
// int index = 0;
for (int y = 0; y < highCount; y++) {
for (int x = 0; x < wideCount; x++) {
mods[y][x] = new Module(x*unit, y*unit, unit/2, unit/2, random(0.05, 0.8), unit);
}
}
}
void draw() {
background(0);
for (int y = 0; y < highCount; y++) {
for (int x = 0; x < wideCount; x++) {
mods[y][x].update();
mods[y][x].display();
}
}
/* for (Module mod : mods) {
mod.update();
mod.display();
}
*/
}
class Module {
int xOffset;
int yOffset;
float x, y;
int unit;
int xDirection = 1;
int yDirection = 1;
float speed;
// Contructor
Module(int xOffsetTemp, int yOffsetTemp, int xTemp, int yTemp, float speedTemp, int tempUnit) {
xOffset = xOffsetTemp;
yOffset = yOffsetTemp;
x = xTemp;
y = yTemp;
speed = speedTemp;
unit = tempUnit;
}
// Custom method for updating the variables
void update() {
}
// Custom method for drawing the object
void display() {
fill(255);
ellipse(xOffset + x, yOffset + y, 6, 6);
pushMatrix();
translate(xOffset, yOffset, -random(100));
rotateY(1.25);
rotateX(-0.4);
box(30);
popMatrix();
}
}
訂閱:
文章 (Atom)