Categories
Cursos

Curso: Producción Interactiva. Arduino

Workshop dirigido a estudiantes de arquitectura enfocado a la exploración formal interactiva en eldiseño de proyectos e instalaciones arquitectónicas. Este taller se dirige a la introducción de los alumnos a técnicas y estrategias que hoy en díapodemos utilizar como

Categories
CNC Cursos

Curso: Fabricación digital (CNC)

Workshop dirigido a estudiantes de arquitectura de exploración formal y espacial usandoalgoritmos generativos integrando la optimización y la fabricación en un mismo proceso. Este taller se dirige a la introducción de los alumnos a técnicas y estrategias que hoy en díapodemos utilizar

Categories
Cursos

Ya estamos preparando los cecl…

Ya estamos preparando los ceclec para este curso. Processing, grasshopper, cnc, fotografía arquitectónica… En breve más info.

Categories
Cursos

Processing_END

El material del curso estará disponible en el FTP hasta finales de Junio.
A partir del 1 de Julio ya no será accesible.

Rercordad que hay que revisar de vez en cuando la página de descargas de processing por si ha salido una nueva versión. La que hemos usado en el curso es la 1.1, de marzo de 2010.

Un saludo a todos.
Álvaro

Categories
Cursos

Processing_10

Como punto final al curso de Processing se documentan a continuación los contenidos de la última clase.

1. Uso de pseudo-código para resolver problemas de lógica.
Vimos un caso práctico en el que se quería controlar la secuencia en la que se pulsaban dos teclas determinadas y el tiempo que transcurría entre ellas. Las teclas son la ‘a’ y la ‘b’, y hay que medir el tiempo entre a y b o bien entre b y a, pero no entre a-a o b-b.
El ejercicio e15 resuelve el problema, y en la carpeta data tenéis un pdf con el pseudo-código escrito a mano.

2. Uso de librerías suministradas y otras.
Processing se suministra con un paquete de 8 librerías básicas (dxf, javascript, minim, net, opengl, pdf, serial y video). Están documentadas en http://processing.org/reference/libraries. Si seguís avanzando en esa página vereis que hay muchas más, que hay que descargar e instalar (copiar en la carpeta correspondiente): Para que una nueva librería pueda ser utilizada hay que colocarla en la carpeta ‘libraries’ de Processing.
El ejercicio e16 muestra un ejemplo de uso de librerías.

3. Exportar un sketch como aplicación independiente o para colgarlo en la web.
Con la opción ‘Export application’ vimos la posibilidad de generar un fichero .exe para ejecutar un sketch sin necesidad de tener instalado processing. Recordad que hay que distribuir el fichero exe y la carpeta lib que se generan con ese comando.
Con la opción ‘Export’ se crea una carpeta llamada ‘applet’ con una página web (index.html) que podemos subir directamente a nuestro sitio web. Si lo que deseamos es incrustar el sketch de processing en nuestra propia página hay que abrir en modo edición el citado index.htm y copiar todo el código html entre las etiquetas <body> y </body> (excluídas éstas) y pegarlo en el sitio adecuado en nuestra página (que tenemos que estar editando también en modo código).
El ejercicio e17 aporta ejemplos resueltos de todos estos casos.

He añadido en el ftp una carpeta llamada articulos_blog con todos estos textos que he ido escribiendo a lo largo del curso, para que los tengáis a modo de guía o recordatorio de lo que hemos aprendido.

Y recordad que en la página de processing, en el apartado learning, hay muchísimos tutoriales, ejemplos y ejercicios para principiantes y para expertos que podéis investigar para aprender un poco más.

También conviene de vez en cuando revisar el apartado download y actualizar la versión (la que hemos usado en el curso es la 1.1, de marzo de 2010).

Un saludo a todos y gracias por vuestra asistencia.
Álvaro del Valle / 27 de mayo de 2010

Categories
Cursos

Processing_09

En primer lugar agradecer la presentación que hicieron el día 11 los alumnos del curso del año pasado (Jorge+Sergio y Juanma), mostrando la capacidad de processing de utilizar y enviar datos desde y hacia otros programas. Vimos conexiones con un programa de captura de cámara web, con grasshoper+rhino y con arduino. He subido al ftp la documentación que me dieron relacionada con la presentación, en los archivos demo1 (Jorge+Sergio).rar y demo2 (Juanma).rar: para más información podeis escribirles un correo a jgalvanyg@gmail.com (demo1: Jorge+Sergio) y a spooky__26@hotmail.com (demo2: Juanma Sarrió). Juanma ha adjuntado unos documentos de tutorial en formato odt.

En segundo lugar, algunos comentarios sobre moviviento, que fue lo que estuvimos viendo el resto de la sesión:
Ejercicio E14_Motion. Ya están en el ftp los ejercicios vistos en clase y algunos que no vimos. Van comentados, sobre todo los últimos, los que incluían un array de partículas.

  • Del e01 al e06 nos dio tiempo a verlos en clase.
  • El e07 lo dejamos a medio porque nos sonó la campana. Lo he resuelto de dos maneras, la e07 y la e08. Ambos llevan bastantes notas al final del fichero, intentando explicar el manejo de los arrays.
  • El e09 es un ejercicio del libro de Daniel Shiffman, origen de toda esta historia del grifo de partículas, y está resuelto mediante el uso de un ArrayList, que es un tipo de array de tamaño variable que puede guardar ‘objetos’ (classes) y se redimensiona solo. Incluye además un complemento de diseño que no poseen el e07 y el e08: el fondo del sketch es un degradado entre un tono de gris claro y un tono de gris oscuro, en lugar de ser un color homogéneo: queda más bonito.

Y en tercer lugar, un avance para la última clase, el próximo día 18 de mayo.

  • Explicaremos qué es una librería y veremos algún ejemplo de uso.
  • Explicaremos cómo se puede exportar nuestro trabajo para ejecutarlo en un ordenador que no tenga instalado processing y para ponerlo en la web.
  • Veremos un ejemplo de ‘pseudocódigo’ basado en un caso real.
Categories
Cursos

Processing_08

El próximo martes día 11 de mayo la sesión será algo distinta, pues tendremos dos ejemplos prácticos de aplicación de Processing a cargo de alumnos de la escuela que están realizando trabajos con esta herramienta. Sin entrar en detalles, veremos:

  • Como se puede utilizar Processing para controlar sucesos externos (cámara de vídeo) y enviar los resultados a otro programa (rhino, vía grashopper) para producir resultados gráficos.
  • Cómo se pueden utilizar otros recursos (arduino y hardware específico) para controlar sucesos externos y enviar los resultados a Processing, y producir también resultados gráficos.

Además de eso, que nos ocupará parte de la clase, seguiremos con el desarrollo habitual del curso.

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.

Categories
Cursos

Processing_06

Nuevos contenidos para el próximo 27 de abril.  Conviene que echéis un vistazo al código y consultéis los correspondientes capítulos del libro Reas&Fry para ir avanzando en los conceptos. En clase recorreremos detalladamente el proceso para realizar estos sketches, explicando las transformaciones y aclarando qué es una class (definición de objeto), para qué sirve y cómo se utiliza. Ahí os dejo los deberes:

E09: Transformaciones (desplazar, rotar, escalar) 
(Los ejercicios van comentados y con referencias bibliográficas al libro de Reas&Fry.)

  • E09a: En este sketch una flecha situada en el centro de la pantalla apunta siempre hacia el ratón. La flecha en realidad se dibuja en el punto 0,0 y apuntando hacia el este (eje X positivo), pero justo antes de dibujarla se le aplican unos valores de desplazamiento y giro para conseguir el efecto deseado. Este proceso simplifica mucho el dibujado del objeto.
  • E09b: Ahora son tres las flechas que apuntan al ratón. En este caso hemos definido unas funciones de usuario para simplificar el sketch y evitar repetir trozos de código exactamente iguales. También aparecen las funciones pushMatrix y popMatrix, que evitan la acumulación de transformaciones.

E10: Classes – Programación orientada a objetos

  • E10a: Una nube de las mismas flechas de los ejemplos anteriores, dispersas por el sketch, se reorientan hacia el ratón al hacer clic en la pantalla. Podemos manejar un número indefinido de flechas, para ello creamos una clase que contiene un grupo de métodos (funciones) y campos (variables) que nos permitirán crear y manejar los objetos. Un objeto es una instancia individual de una clase (pensemos en un bloque con atributos de autocad insertado n veces: la definición del bloque sería la clase, y cada una de las inserciones sería un objeto).
  • E10b: Mismo caso que el anterior, pero ahora las flechas están colocadas de forma regular a lo largo de los ejes X,Y del sketch, aunque su rotación inicial es aleatoria. Al hacer clic izquierdo se orientan hacia el ratón, al hacer clic derecho pierden la orientación, y al hacer clic centro se muestra/oculta la rejilla de base.
  • E10c: Ampliación del ejercicio E10a. En este ejemplo hemos añadido un par de condicionantes a la clase: además de rotar para mirar al mouse, las flechas cambian de grosor y de color según lo cerca o lejos que estén del ratón.

¡Buen fin de semana!

Categories
Cursos

Processing_05

He reorganizado un poco los ejercicios anteriores; ahora están agrupados, y algunos corregidos y renombrados, así que sería conveniente que borréis lo que teníais descargado antes y volváis a descargar y a descomprimir todos los RAR del sitio ftp.

Ejercicios sobre imágenes, del día 20 de abril:

  • E08a: una imagen asociada al cursor se mueve sobre otra imagen fija en el fondo del sketch
  • E08b: mismo ejemplo, pero con las flechas UP/DOWN del teclado cambiamos la opacidad de la imagen móvil, y con las flechas LEFT/RIGHT cambiamos la opacidad de la imagen de fondo. Debajo de todo hay una rejilla para poder apreciar bien la opacidad de las imágenes. También hay un texto de instrucciones en la pantalla del sketch.
  • E08c: creación de un array de imágenes para realizar una ‘película’ o un ‘pase de diapositivas’ sin fin y automático. Se utiliza la variable de processing ‘frameCount‘ para llevar un control de las imágenes sucesivas, y el operador ‘módulo‘ (%) nos permite recorrer el array cómodamente basándonos en el contador frameCount aunque éste aumente y aumente sin parar.
  • E08d: mismo ejemplo, pero el cambio de imágenes lo realiza el usuario haciendo clic con el ratón, o bien avanzando y retrocediendo con las flechas LEFT/RIGHT del teclado.