Categories
Cursos

Processing_07

En la próxima clase (4 de mayo) estudiaremos la manera de detectar la posición del ratón sobre el sketch, y determinar si está sobre alguna zona en concreto, con lo cual podremos tomar decisiones. Esto sirve por ejemplo para diseñar botones para que el usuario pueda pulsarlos. También ampliaremos conocimientos sobre las classes, creando objetos interactivos que aprovechen las funciones de detección previamente explicadas.

E11 – Ejercicios de detección:

  • E11a: detección de zonas en pantalla al pasar el ratón por encima. Un rectángulo, un círculo y un triángulo se colorean de azul si el mouse pasa por encima, y de rojo si además hacemos clic.
  • E11b: mismo ejercicio pero con funciones de usuario para simplificar la lectura del código.
  • E11c: detección de una zona poligonal con forma cualquiera. Basado en un algoritmo llamado algorimo radial, que es una solución para determinar si un punto está dentro o fuera de un polígono (podéis ampliar información buscando en google).

E12 – Classes con objetos interactivos:

  • E12a: Cajas (1) – aparecen diez cajas con posición, tamaño y color aleatorio, que podemos mover con el ratón haciendo clic sobre ellas.
  • E12b: Cajas (2) – mismo ejercicio pero depurado: indica mediante un texto qué caja está detectada y qué caja está seleccionada, y además las cajas no se “escapan” si movemos el ratón deprisa. Con el botón derecho reiniciamos el sketch, generando otra nube de cajas aleatorias.

E13 – Ejemplo de aplicación práctica:

  • E13: detección de zonas de un mapa. Aquí tenéis una base para ver cómo se capturan datos de varios ficheros y luego se aplican al sketch para generar polígonos y detectarlos. Las coordenadas de los polígonos están en archivos de texto en la carpeta data. Es una aplicación práctica del algoritmo radial y del uso de clases explicados anteriormente.

Es importante para la próxima clase del día 4 de mayo que tengáis los ejercicios en vuestro ordenador y los hayáis probado para ver cómo funcionan. En el aula explicaremos los detalles con la profundidad que nos sea posible.