Dibujar 3D en Processing Cheat Sheet

A Software › Graphics cheat sheet in English and español (Spanish) by CesarANS

CheatSheet donde se muestra como dibujar 3D en Processing

6,126 views 1,368 downloads 19 Mar 2022 History

Tipos primitivos en 3D

En processing hay 2 tipos primitivos en 3D
box(dim) , box(x,y,z)
Genera una caja con ancho de x, alto de y y profun­didad z o un cubo de dimens­iones dim
sphere(r)
Crea una esfera con radio r

Crear figuras 3D

Para crear figuras en 3D, es necesario el uso de vertex­(x,y,z) siendo los parámetros las coorde­nadas de la figura, tal es el caso siguiente:

Ejemplo:

translate(width/2, height/2, 0);
rotateX(PI/2);
rotateZ(-PI/6);
beginShape();
vertex(-100, -100, -100);
vertex(100, -100, -100);
vertex(0, 0, 100);
vertex(100, -100, -100);
vertex(100, 100, -100);
vertex(0, 0, 100);
vertex(100, 100, -100);
vertex(-100, 100, -100);
vertex(0, 0, 100);
vertex(-100, 100, -100);
vertex(-100, -100, -100);
vertex(0, 0, 100);
endShape();

Texturas

Para aplicar las texturas a una imagen, podemos usar textur­e(img)
Siendo img la imagen que se aplicará a la figura.
Se debe invocar textur­e(img) despues de beginS­hape()
Aunque para definir cómo se ajustará la imagen en la figura se usa vertex­(x,­y,z­,u,v) donde los parametros u y v definen las coorde­nadas a mapear de la imagen en ese vertice.

Luces

Para activar las luces por defecto podemos usar lights()
Aunque también exiten funciones más especi­ficas donde v1 se refiere a hue o rojo, v2 se refiere a verde o saturación y v3 se refiere a azul o brillo:
ambien­tLi­ght­(v1­,v2­,v3­[x,­y,z])
Inidca la luz del ambiente, así como su origen
direct­ion­alL­igh­t(v­1,v­2,v­3,x­,y,z)
Indica la luz con origen en x,y, z qu eimpacta con más fuerza en nuna superficie plana que en una curva.
spotLi­ght­(v1­,v2­,v3­,x,­y,z­,nx­,ny­,nz­,de­g,f­uerza)
Similar a direct­ion­alLight pero incluye la dirección del cono de ilumin­ación (nx,ny,nz), así como la rotación de este (deg) y su fuerza (fuerza).

Luces

pointL­igh­t(v­1,v­2,v­3,x­,y,z)
Crea spotlight con un cono de 180 grados con origen en x,y,z
Es importante mencionar que estos métodos deben estar en el método draw pues la escena 3D se reinicia cada frame.

Perspe­ctivas

Para las perspe­ctivas podemos usar la perspe­ctiva normal
perspe­ctive()
perspe­cti­ve(­fov­y,a­spe­ct,­zNe­ar,­zFar)
La cual sin argumentos pone la perspe­ctiva predet­erm­inada, y con argumentos puede ajustar el ángulo del campo de visión (fovy), la razón de ancho y alto (aspect), la posición en z del plano más cercano (zNear) y el plano más lejano (zFar)

O también la perspe­ctiva ortogonal donde un elemento aparece de igual tamaño indepe­ndi­ent­emente de qué tan lejos esté ortho().
ortho(­lef­t,r­igh­t,b­ott­om,­top­,[n­ear­,far])
Donde sin parámetros se establece la config­uración por defecto, o se pueden definir los planos lpimite en las 4 direcc­iones (left, right,­bottom, top) así como la distancia máxima del origen a la vista(near) y la distancia mácima de lejanía desde el origen hasta la vista.

Comments

No comments yet.

Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.