No estamos limitados a usar las formas geométricas básicas, también puedes definir nuevas formas conectando una serie de puntos.
Para ello utilizamos las funciones beginShape(), vertex() y endShape() en grupo.
código 3.20-1
La función beginShape() señala el comienzo de una forma. La función vertex() es usada para definir cada par de coordenadas x e y para la forma. Finalmente, la función endShape() sirve para indicar que la forma ha sido finalizada.
código 3.20-1
size(480, 120);
beginShape();
vertex(180, 82);
vertex(207, 36);
vertex(214, 63);
vertex(407, 11);
vertex(412, 30);
vertex(219, 82);
vertex(226, 109);
endShape(CLOSE);
Para cerrar nuestra forma, podemos utilizar la constante CLOSE (en mayúsculas) para cerrar nuestra forma.
Las funciones beginShape() y endShape() has de ser usadas en pares. Poe defecto, todas las formas dibujadas con vertex() están rellenas de color blanco y una línea negra de un pixel conectando todos los puntos excepto el primero y el último. Las funciones fill(), stroke(), noFill(), noStroke() y strokeWeight() controlan los atributos de las formas dibujadas con la función vertex(), de la misma manera que funciona con las FORMAS PRIMITIVAS, que hemos visto en este capítulo.
El orden de la posición de los vértices cambia la forma que queremos dibujar. Añadiendo más vértices se revela el potencial de estas funciones. Una forma puede tener miles de vértices, pero dibujar muchos puntos pueden hacer que tus programas sean más lentos.
La función beginShape() puede aceptar diferentes parámetros para definir qué tipo de dibujo se formará desde los datos del vértice. Los mismos vértices pueden ser usados para crear una serie de puntos, una forma sin relleno, o una línea continua.
POINTS
LINES
TRIANGLE
TRIANGLE_STRIP
TRIANGLE_FAN
QUADS
QUAD_STRIP
Hay ocho opciones diferentes para el parámetro MODE de la función de beginShape() y cada una interpreta los datos de vértices de forma diferente. La notación V1, V2, V3, etc., representa el orden y la posición de cada punto del vértice.
No hay comentarios:
Publicar un comentario