Programación Orientada a Objetos

en Processing
Pensar en los objetos de programación como los objetos físicos: propiedades, métodos y constructor.

Captura de pantalla 2015-03-01 a las 13.36.14Captura de pantalla 2015-03-01 a las 13.36.18Captura de pantalla 2015-03-01 a las 13.36.22

Propiedades: todas propiedades que componen nuestro objeto.

Métodos: todas aquellas acciones que el objeto puede ejecutar. Void mover(){ } Void frenar...void acelerar, void girar.
Constructor: función especial que permite pasar valores a las propiedades. Crear una instancia de esa clase asignando valores al objeto abstracto.

Captura de pantalla 2015-03-01 a las 13.19.14

Captura de pantalla 2015-03-01 a las 13.48.04Captura de pantalla 2015-03-01 a las 13.49.20


int num=100;

Poligono[] listaPoligonos = new Poligono[num];
void setup() {
size(700, 700, P2D);
stroke(255);
smooth();
frameRate(15);
background(0);

for (int i=0; i<num; i++) {
int c = int(map(i, 0, num, 0, 255));
listaPoligonos[i] = new Poligono (random(height), random( width), 40, 40, c, random(360));
}
}
void draw() {

fill(0, 23);
noStroke();
rect(0, 0, width, height);
// background(0);
for ( int i =0; i <num; i++) {

listaPoligonos[i].dibujar();
}
}


>> OBJETO Poligono

class Poligono {
float x;
float y;
float n;
int w;
int h;
int col;

void dibujar() {
for (int i=0; i<20; i++) {
for (int j=0; j<20; j++) {
pushMatrix();
translate(x, y);
rotate(radians(n*15));
//rect(0,0,50,50);
poligono(0, 0, 30, 30, col);
popMatrix();
}
}

if (x>width/2) {
stroke(2, 245, 186, 230);
} else {
stroke(col*5, col, 0, 255);
}
n+=.5;
}
void poligono(float x, float y, int w, int h, int c) {
strokeWeight(.5);
stroke(c*5, c, 0, 255);
line(x, y+h, x+w/6*2, y+h/2);
line(x+w/6*2, y+h/2, x+w/2, y);
line(x+w/2, y, x+w, y+h/2);
line(x+w, y+h/2, x+w, y+h/6*5);
line(x+w, y+h/6*5, x+w/2, y+h/6*5);
line(x+w/2, y+h/6*5, x, y+h);
}

Poligono (float x, float y, int w, int h, int c, float n) {

this.y=y;
this.x=x;
this.w=w;
this.h=h;
this.col=c;
this.n = n;
}
}


NOTAS:

float declaramos que tendremos números decimales

random seed(0); ..anclar la secuencia..siempre se verá la misma secuencia dentro de lo random

frameRate(30); cuantas veces se repite la instrucción dentro de void draw.

Smooth Suaviza el render, un poco más fino. Función… es cuantos picos tengo dentro de un pico, si un ciclo da un pico,

Definimos que clase de objeto es: class Silla{ definimos todas propiedades que componen nuestro objeto}

class Coche {
int numPatas;
int numLlantas;
color Color;
float ancho;
float alto;
PImage textura;
float Velocidad;
float x;
float y;


El constructor utiliza el mismo nombre de la clase

Coche(int nP, int nL,  float...){
this.numPuertas= nP;
this.numLlantas=nL;
this.Color= c;
}

Coche= newCoche(){
}
Coche.mover();
rivas_sofi
rivas_sofi
Graphic Designer | I love... Design - DIY- Gadgets - Travel - Beer
Te recomendamos leer

Deja un comentario

Escribe una palabra para buscar y presiona ENTER: