jueves, 7 de enero de 2016

EndCountour()

size(100, 100);
translate(50, 50);
stroke(255, 0, 0);
beginShape();
// Parte exterior de la forma, las agujas del reloj bobinado
vertex(-40, -40);
vertex(40, -40);
vertex(40, 40);
vertex(-40, 40);
// Parte interior de la forma, la izquierda bobinado
beginContour();
vertex(-20, -20);
vertex(-20, 20);
vertex(20, 20);
vertex(20, -20);
endContour();
endShape(CLOSE)
 
 
 
Se dibuja dos cuadrados rojos que enmarcan un color blanco. 

Sphere()

Una esfera es una bola hueca hecha de triángulos de mosaico.

noStroke();
lights();
translate(58, 48, 0);
sphere(28);




 En este sketck, se dibujará una esfera.

Triangle()

Un triángulo es un plano creado mediante la conexión de tres puntos. Los dos primeros argumentos especifican el primer punto, los dos argumentos medias especifican el segundo punto, y los dos últimos argumentos especifican el tercer punto.

Triangle(30, 75, 58, 20, 86, 75);




 En este, se dibuja un triángulo en las coordenadas indicadas.

Smooth()

Dibuja toda la geometría con bordes suaves (anti-aliasing). Este comportamiento es el predeterminado, por lo suave () sólo debe utilizarse cuando un programa tiene que establecer el suavizado de una manera diferente. El parámetro de nivel aumenta el nivel de suavidad. Este es el nivel de más de muestreo utilizado en el búfer de gráficos.

void setup() {
  size(100, 100);
  smooth(2);
  noStroke();
}

void draw() {
  background(0);
  ellipse(30, 48, 36, 36);
  ellipse(70, 48, 36, 36);
}





En este sketch, se dibuja dos círculos blancos, uno al lado de otro a una cierta distancia sobre un fondo negro.

FrameRate()

Especifica el número de fotogramas que se mostrará cada segundo. Por ejemplo, la tasa de fotogramas llamada de función (30) intentará refrescar 30 veces por segundo. Si el procesador no es lo suficientemente rápido para mantener la velocidad especificada, no se alcanzará la velocidad de fotogramas. Se recomienda ajustar la velocidad de fotogramas dentro de setup (). La tasa de morosidad es de 60 fotogramas por segundo.


void setup() {
  frameRate(4);
}
int pos = 0;
void draw() {
  background(204);
  pos++;



  line(pos, 20, pos, 80);
  if (pos > width) {
    pos = 0;
  }
}
 





En este sketch, se dibuja una línea vertical que se va desplazando poco a poco hacia la derecha, según la velocidad que le marques.

jueves, 17 de diciembre de 2015

Seguimos experimentando...

Quitando la función Non-stroke podemos conseguir este efecto tan bonito.


int verde = 656;
int tiempo = 0;
int diametro = 50;
 
void setup() {
  size(400, 400);
}

void draw() {
  tiempo = tiempo + 1;    
  verde = int(128 * (1 + sin(tiempo * 2 * PI / frameRate / 20)));
  diametro = int(50 * (1 + sin( tiempo * 2 * PI / frameRate / 5))); // Modifica el diametro del circulo con el paso del tiempo
            
  fill(verde, 567, 76, 765);  // Añade un 50% de transparencia al color
  ellipse(mouseX, mouseY, diametro, diametro);
}

Seguimos experimentando

 En el fondo de pantalla aparecerá un balón. A base de lineas repetidas de color azul claro sobre el fondo oscuro no toca el balon. Puede pintar en todos lados menos donde este el balón.



PImage im;

void setup() {
  size(400, 400);   // Hacemos el programa del tamaño de la imagen
  im = loadImage("balon.png");  // Nombre de la imagen
  background(8678);
line(0, 0, 10000, 10000);
stroke(0, 0, 785);
line(0, 100, 100, 0);
background(400);                                                                                  
line(0,0,100,100);
stroke(0,0,890);
line(0,100,100,0);
}

void draw() {
  image(im, 0, 0);  // Para mostrar la imagen en la pantalla, coordenadas 0, 0
   line(0,0,mouseX,mouseY);
}