jueves
viernes
PROCESSING
Realicé tres ejerccios, modificando en todos ellos el color de fondo, las proporciones de los obejtos y su ubicación en el espacio:
/**
* Arm.
*
* The angle of each segment is controlled with the mouseX and
* mouseY position. The transformations applied to the first segment
* are also applied to the second segment because they are inside
* the same pushMatrix() and popMatrix() group.
*/
float x = 100;
float y = 100;
float angle1 = 0.0;
float angle2 = 0.0;
float segLength = 50;
void setup() {
size(200, 200);
smooth();
strokeWeight(20.0);
stroke(0, 100);
}
void draw() {
background(120, 235, 228);
angle1 = (mouseX/float(width) - 0.5) * -PI;
angle2 = (mouseY/float(height) - 0.5) * PI;
pushMatrix();
segment(x, y, angle1);
segment(segLength, 0, angle2);
popMatrix();
}
void segment(float x, float y, float a) {
translate(x, y);
rotate(a);
line(0, 0, segLength, 0);
}
/**
* Composite Objects
*
* An object can include several other objects. Creating such composite objects
* is a good way to use the principles of modularity and build higher levels of
* abstraction within a program.
*/
EggRing er1, er2;
void setup()
{
size(250, 250);
smooth();
er1 = new EggRing(0, 15, 0.50, 66);
er2 = new EggRing(0, 30, 0.67, 132);
}
void draw()
{
background(212, 250, 4);
er1.transmit();
er2.transmit();
}
class EggRing
{
Egg ovoid;
Ring circle = new Ring();
EggRing(int x, int y, float t, float sp) {
ovoid = new Egg(x, y, t, sp);
circle.start(x, y - sp/2);
}
void transmit() {
ovoid.wobble();
ovoid.display();
circle.grow();
circle.display();
if (circle.on == false) {
circle.on = true;
}
}
}
class Egg {
float x, y; // X-coordinate, y-coordinate
float tilt; // Left and right angle offset
float angle; // Used to define the tilt
float scalar; // Height of the egg
// Constructor
Egg(int xpos, int ypos, float t, float s) {
x = xpos;
y = ypos;
tilt = t;
scalar = s / 100.0;
}
void wobble() {
tilt = cos(angle) / 8;
angle += 0.1;
}
void display() {
noStroke();
fill(255);
pushMatrix();
translate(x, y);
rotate(tilt);
scale(scalar);
beginShape();
vertex(0, -100);
bezierVertex(25, -100, 40, -65, 40, -40);
bezierVertex(40, -15, 25, 0, 0, 0);
bezierVertex(-25, 0, -40, -15, -40, -40);
bezierVertex(-40, -65, -25, -100, 0, -100);
endShape();
popMatrix();
}
}
class Ring {
float x, y; // X-coordinate, y-coordinate
float diameter; // Diameter of the ring
boolean on = false; // Turns the display on and off
void start(float xpos, float ypos) {
x = xpos;
y = ypos;
on = true;
diameter = 1;
}
void grow() {
if (on == true) {
diameter += 0.5;
if (diameter > width*2) {
diameter = 0.0;
}
}
}
void display() {
if (on == true) {
noFill();
strokeWeight(4);
stroke(155, 153);
ellipse(x, y, diameter, diameter);
}
}
}
/**
* Tickle.
*
* The word "tickle" jitters when the cursor hovers over.
* Sometimes, it can be tickled off the screen.
*/
PFont font;
float x = 33; // X-coordinate of text
float y = 60; // Y-coordinate of text
void setup()
{
size(200, 200);
font = loadFont("AmericanTypewriter-24.vlw");
textFont(font);
noStroke();
}
void draw()
{
fill(255, 250, 252);
rect(0, 0, width, height);
fill(0);
// If the cursor is over the text, change the position
if ((mouseX >= x) && (mouseX <= x+55) &&
(mouseY >= y-24) && (mouseY <= y)) {
x += random(-5, 5);
y += random(-5, 5);
}
text("...", x, y);
}
/**
* Arm.
*
* The angle of each segment is controlled with the mouseX and
* mouseY position. The transformations applied to the first segment
* are also applied to the second segment because they are inside
* the same pushMatrix() and popMatrix() group.
*/
float x = 100;
float y = 100;
float angle1 = 0.0;
float angle2 = 0.0;
float segLength = 50;
void setup() {
size(200, 200);
smooth();
strokeWeight(20.0);
stroke(0, 100);
}
void draw() {
background(120, 235, 228);
angle1 = (mouseX/float(width) - 0.5) * -PI;
angle2 = (mouseY/float(height) - 0.5) * PI;
pushMatrix();
segment(x, y, angle1);
segment(segLength, 0, angle2);
popMatrix();
}
void segment(float x, float y, float a) {
translate(x, y);
rotate(a);
line(0, 0, segLength, 0);
}
/**
* Composite Objects
*
* An object can include several other objects. Creating such composite objects
* is a good way to use the principles of modularity and build higher levels of
* abstraction within a program.
*/
EggRing er1, er2;
void setup()
{
size(250, 250);
smooth();
er1 = new EggRing(0, 15, 0.50, 66);
er2 = new EggRing(0, 30, 0.67, 132);
}
void draw()
{
background(212, 250, 4);
er1.transmit();
er2.transmit();
}
class EggRing
{
Egg ovoid;
Ring circle = new Ring();
EggRing(int x, int y, float t, float sp) {
ovoid = new Egg(x, y, t, sp);
circle.start(x, y - sp/2);
}
void transmit() {
ovoid.wobble();
ovoid.display();
circle.grow();
circle.display();
if (circle.on == false) {
circle.on = true;
}
}
}
class Egg {
float x, y; // X-coordinate, y-coordinate
float tilt; // Left and right angle offset
float angle; // Used to define the tilt
float scalar; // Height of the egg
// Constructor
Egg(int xpos, int ypos, float t, float s) {
x = xpos;
y = ypos;
tilt = t;
scalar = s / 100.0;
}
void wobble() {
tilt = cos(angle) / 8;
angle += 0.1;
}
void display() {
noStroke();
fill(255);
pushMatrix();
translate(x, y);
rotate(tilt);
scale(scalar);
beginShape();
vertex(0, -100);
bezierVertex(25, -100, 40, -65, 40, -40);
bezierVertex(40, -15, 25, 0, 0, 0);
bezierVertex(-25, 0, -40, -15, -40, -40);
bezierVertex(-40, -65, -25, -100, 0, -100);
endShape();
popMatrix();
}
}
class Ring {
float x, y; // X-coordinate, y-coordinate
float diameter; // Diameter of the ring
boolean on = false; // Turns the display on and off
void start(float xpos, float ypos) {
x = xpos;
y = ypos;
on = true;
diameter = 1;
}
void grow() {
if (on == true) {
diameter += 0.5;
if (diameter > width*2) {
diameter = 0.0;
}
}
}
void display() {
if (on == true) {
noFill();
strokeWeight(4);
stroke(155, 153);
ellipse(x, y, diameter, diameter);
}
}
}
/**
* Tickle.
*
* The word "tickle" jitters when the cursor hovers over.
* Sometimes, it can be tickled off the screen.
*/
PFont font;
float x = 33; // X-coordinate of text
float y = 60; // Y-coordinate of text
void setup()
{
size(200, 200);
font = loadFont("AmericanTypewriter-24.vlw");
textFont(font);
noStroke();
}
void draw()
{
fill(255, 250, 252);
rect(0, 0, width, height);
fill(0);
// If the cursor is over the text, change the position
if ((mouseX >= x) && (mouseX <= x+55) &&
(mouseY >= y-24) && (mouseY <= y)) {
x += random(-5, 5);
y += random(-5, 5);
}
text("...", x, y);
}
algoritmo
Para prepara una taza de te instantánea:
colocar bolsita de te en la taza
llenar taza con agua
calentar en el microondas aproximadamente 2 minutos
sacar del microondas y dejar reposar
endulzar
primer ejercicio
HACER FIESTA
SI
buscar un lugar
hacerla en mi casa
hacer llamadas, mandar mensajes, sólo amigos
crear evento en facebook
llega mucha gente
tengo problemas con los vecinos
llaman a la policía
se acaba la fiesta
amenzan con correrme
arreglar mientras llegan
SI
aprovecho el tiempo y hago quehacer
no estará tan sucio después de la fiesta
estaré cansada y me dormiré a media fiesta
mis amigos se incomodan
se van y se acaba la fiesta
arreglar mientras llegan
NO
beber mientras espero
embriagarme desde temprano
correr temprano a los invitados
HACER FIESTA
NO
salir y gastar
comprar cervezas en el bar
después de la peda comer en la calle
gasto de regreso a casa
hacer la tarea en vez de agarrar la fiesta
descansar (dormir temprano)
no gastar
guardar el dinero para materiales
ahorrar para viajar en Semana Santa
ir a Guadalajara, Puerto Vallarta, la PLAYA!
Suscribirse a:
Entradas (Atom)
