Processing: LC0

De Casiopea



Asignatura(s)Imagen Escrita
Año2007
Tipo de CursoRamo Lectivo
ProfesoresHerbert Spencer
Carreras RelacionadasDiseño Gráfico, Diseño Industrial

Descripción

Módulo de Primer Año Diseño:
Fundamentos de la Forma Computacional o
Introducción a la Gráfica Interactiva,
adaptado del curso The Interactive Image por Golan Levin

Este curso es una introducción a la computación como una herramienta de expresión plástica, donde el objetivo es el diseño pero el medio es el software. Tener experiencia previa en programación no es un prerequisito para este curso. Los estudiantes se familiarizarán con algoritmos básicos, geometría computacional y simulación cinemática.

Contenidos del Curso

  1. Processing
    1. Download & Instalación
    2. Ambiente Gráfico
    3. Formatos de Exportación
  2. Elementos del Código
    1. //, /* */
    2. Funciones
    3. Expresiones y Declaraciones
    4. Consola
  3. Dibujo 1
    1. Definición Espacial: Sistema de Coordenadas
    2. Figuras Primitivas
      1. point(), line(), triangle(), quad(), rect(), ellipse(), bezier()
    3. Orden en el Dibujo
      1. background(), fill(), stroke(), noFill(), noStroke()
  4. Variables
    1. Tipos de datos (dataTypes): int, float, boolean, true, false
    2. Variables Processing: width, height
    3. Nomenclarura de color
      1. color, color(), colorMode(), RGB, HSB, hexadecimal
  5. Matemáticas: Aritmética y Funciones
    1. +, -, *, /, %
    2. Sintaxis ();
    3. Atajos: ++, --, +=, -=, -
  6. Repetición
    1. Ciclo for
    2. Ciclos anidados
  7. Dibujo 2
    1. Por vértices
    2. beginShape(), endShape(), vertex(), curveVertex(), bezierVertex()
    3. curvas polares e identidad circular
  8. Aleatoriedad
    1. random(), noise()
    2. dibujo generativo
  9. Programación orientada a objetos
    1. Concepto de clases e instancias
    2. subclases y superclases
  10. Generar archivos PDF desde Processing import processing.pdf.*
    1. Tipografías vectoriales hint(ENABLE_NATIVE_FONTS), PFont.list(), createFont()
    2. Sin visualización en pantalla size(612, 792, PDF, "dibujo.pdf"), exit()
    3. Con visualización en pantalla beginRecord(PDF, "filename.pdf"), endRecord();
      1. Documentos multipágina pdf.nextPage();
  11. Objetos de imágenes PImage
    1. Acceso al Arreglo de Pixeles pixels[]

Tareas

  • Martes 1 de Julio: Familiarizarse con el entorno de trabajo de Processing y el sistema de publicación de tareas. Subir un applet a su carpeta individual. Esta carpeta debe estar formateada del siguiente modo: "apellio_nombre". Se suben en esta carpeta todos los ejercicios de este curso. Se debe mantener un cuidado respecto a los nombres de los ejercicios
  • Martes 8 de Julio: Subir un applet que utilice los elementos de dibujo introducidos en la clase anterior. Este ejercicio corresponde a una exploración de las primitivas estándar incluídas como funciones simples en processing, definición de color (relleno y trazo).
  • Marte 15 de Julio: Construir un patrón bidimensional utilizando ciclos anidados y llamando a una función propia. La versión avanzada de la tarea debe considerar que esta función incorpora pequeñas variaciones cada vez que se ejecuta mediante la inclusión de la función random().
  • Martes 22 de Julio: Perfeccionar y corregir la tarea anterior. Los alumnos avanzados deben explorar el concepto de recursividad.

Ejemplos

Dibujo

Arreglos o Matrices

Coordenadas Polares y Cartesianas

Random y Noise

Programación Orientada a Objetos: Clases

Manejo de Archivos de Imágenes

  • random foto: este ejemplo construye un arreglo de imágenes a partir de los archivos de una carpeta. Muy útil para grandes cantidades de imágenes. Escencialmente es una extensión de lo hablado en la última clase.
  • conversión de pixels[] al sistema cartesiano de coordenadas:
desde cartesiano a lineal:
pixels[y*width + x]

desde un número de índice (index) del arreglo al sistema cartesiano:
int y = index / width;
int x = index % width;

Referencias

Cursos Anteriores

Referencias Online

Personas