Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
highlevel:processing [2010/04/02 19:52] alfred |
highlevel:processing [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 223: | Línea 223: | ||
| } | } | ||
| </code> | </code> | ||
| + | |||
| + | |||
| ==== Otras funciones ==== | ==== Otras funciones ==== | ||
| * ''saveFrame'' para guardar el frame actual como imágen. | * ''saveFrame'' para guardar el frame actual como imágen. | ||
| * Remarcar también que podemos acceder a las variables ''height'' y ''width'' que nos indicarán el tamaño actual de la ventana. | * Remarcar también que podemos acceder a las variables ''height'' y ''width'' que nos indicarán el tamaño actual de la ventana. | ||
| - | === Funciones trigonometricas === | + | === Funciones matemáticas === |
| + | * ''sqrt(number)'': Devuelve la raíz cuadrada del número. | ||
| + | * ''pow(number, exponent)'': Eleva el número al exponente dado. | ||
| * ''radians(angle)'': Devuelve los radianes de un ángulo expresado en grados. | * ''radians(angle)'': Devuelve los radianes de un ángulo expresado en grados. | ||
| * ''degrees(radians)'': Devuelve los grados de un ángulo expresado en radianes. | * ''degrees(radians)'': Devuelve los grados de un ángulo expresado en radianes. | ||
| - | ===== Avanzado ===== | ||
| + | |||
| + | |||
| + | |||
| + | ==== Otras clases ==== | ||
| + | === PVector === | ||
| + | La clase ''PVector'' nos facilita las operaciones con vectores mediante el uso de sus métodos | ||
| + | Métodos: | ||
| + | * ''set()'', asigna los valores para la x, la y y la z del vector. | ||
| + | * ''get()'', recoge los valores de la x, la y y la z. | ||
| + | * ''mag()'', calcula la magnitud (tamaño) del vector. | ||
| + | * ''add()'', suma otro vector al vector. | ||
| + | * ''sub()'', resta un vector al vector. | ||
| + | * ''mult()'', multiplica el vector por un escalar. | ||
| + | * ''div()'', divide el vector por un escalar. | ||
| + | * ''dist()'', calcula la distancia euclidea entre dos puntos. | ||
| + | * ''dot()'', calcula el producto escalar. | ||
| + | * ''cross()'', calcula el producto cruzado. | ||
| + | * ''normalize()'', normaliza un vector. | ||
| + | * ''limit()'', limita la magnitud del vector. | ||
| + | * ''angleBetween()'', calcula el ángulo entre dos vectores. | ||
| + | * ''array()'', retorna la representación del vector como un array. | ||
| + | El siguiente código... | ||
| + | <code java> | ||
| + | float x = 100; | ||
| + | float y = 100; | ||
| + | float xspeed = 1; | ||
| + | float yspeed = 3.3; | ||
| + | x = x + xspeed; | ||
| + | y = y + yspeed; | ||
| + | </code> | ||
| + | Podríamos llegar a escribirlo como... | ||
| + | <code java> | ||
| + | PVector location = new PVector(100, 100); | ||
| + | PVector velocity = new PVector(1, 3.3); | ||
| + | location.add(velocity); | ||
| + | </code> | ||
| + | |||
| + | ===== Avanzado ===== | ||
| ===== Otros ===== | ===== Otros ===== | ||
| + | |||
| ==== Como... ==== | ==== Como... ==== | ||
| + | === Trucos gráficos === | ||
| + | * Para crear **motion blur**, en cada frame en vez de indicar "borrar todo el backgraund" lo que haríamos es dibujar un cuadrado blanco pero con alpha: | ||
| + | <code java> | ||
| + | void draw() { | ||
| + | // backgraund(255); | ||
| + | noStroke(); | ||
| + | fill(255,10); | ||
| + | rect(0,0,width,height); | ||
| + | // Rutina de dibujo | ||
| + | </code> | ||
| ==== Ejemplos ==== | ==== Ejemplos ==== | ||