Herramientas de usuario

Herramientas del sitio


highlevel:processing

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
highlevel:processing [2010/04/02 18:08]
alfred
highlevel:processing [2020/05/09 09:25] (actual)
Línea 147: Línea 147:
 } }
 </​code>​ </​code>​
 +
 +
 +
 +
 +
  
  
Línea 189: Línea 194:
 loadStrings("​http://​www.prueba.com/​data.php"​);​ loadStrings("​http://​www.prueba.com/​data.php"​);​
 </​code>​ </​code>​
 +
 +=== Transformaciones ===
 +Como ocurre con [[fw:​ogl|OpenGL]] podemos realizar transformaciones geométricas sobre la vista para que lo dibujado se muestre alterado según esta. \\ 
 +Para ello utilizamos las funciones ''​pushMatrix'',​ para iniciar una transformación,​ y ''​popMatrix''​ para acabarla. \\ 
 +Las funciones de transformación son:
 +  * ''​translate(x,​y)'',​ para realizar una traslación.
 +  * ''​rotate(angle)'',​ para realizar una rotación. ''​Angle''​ tiene que estar dado como radianes.
 +  * ''​scale(fValue)'',​ para realizar un escalado.
 +<code java>
 +int ang = 0;
 +
 +void setup()
 +{
 +  size(200,​200);​
 +}
 +
 +void draw()
 +{
 +  background(255);​
 +  stroke(128);​
 +  strokeWeight(3);​
 +  pushMatrix();​
 +  translate(100,​100);​
 +  rotate(radians(ang));​
 +  rect(-40, -40, 80, 80);
 +  popMatrix();​
 +  ang++;
 +}
 +</​code>​
 +
  
  
Línea 194: Línea 229:
   * ''​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 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.
 +  * ''​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 ====
highlevel/processing.1270231680.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)