Diferencia entre revisiones de «Imagen Escrita»
Sin resumen de edición |
Sin resumen de edición |
||
Línea 1: | Línea 1: | ||
<div style="text-align: center; text-align-last: center; -moz-text-align-last: center"> | |||
<processingjs> | |||
/** | |||
* | |||
* Pyxis - e[ad] | |||
* 2014 | |||
* | |||
*/ | |||
// Variables | |||
int numC = 123; | |||
int numL = 3210; | |||
float minDist = 120; | |||
float globalDiam = 290; | |||
float maxAlpha = 10; | |||
Star[] p; // constelations | |||
Star[] pp; // lonely stars | |||
// Star | |||
class Star { | |||
float x, y, ang, adv, diam, alpha; | |||
Star(float _x, float _y) { | |||
x = _x; | |||
y = _y; | |||
diam = random(1, 5); | |||
alpha = random(10, maxAlpha); | |||
ang = random(TWO_PI); | |||
adv = random(1); | |||
} | |||
void go() { | |||
if (x > 10 && y > 10) { | |||
move(); | |||
paint(); | |||
} | |||
} | |||
void move() { | |||
x += cos(ang) * adv; | |||
y += sin(ang) * adv; | |||
// float n = (noise(x,y) - .5) * .5; | |||
// ang += n; | |||
if (dist(x, y, width/2, height/2) > globalDiam) { | |||
float ANG = atan2((x - (width/2.0)), (y - (height/2.0))) * -1 + HALF_PI; | |||
ang += (ang - ANG); | |||
} | |||
} | |||
void paint() { | |||
fill(0, alpha); | |||
ellipse(x, y, diam, diam); | |||
} | |||
} | |||
// ------------------------------- | |||
void setup() { | |||
size(700, 700); | |||
p = new Star[numC]; | |||
pp = new Star[numL]; | |||
int n = 0; | |||
// build constelations | |||
while (n < numC) { | |||
float x = random(width); | |||
float y = random(height); | |||
float d = dist(x, y, width/2, height/2); | |||
if (d < globalDiam) { | |||
p[n] = new Star(x, y); | |||
n ++; | |||
} | |||
} | |||
n = 0; | |||
// build lonely stars | |||
while (n < numL) { | |||
float x = random(width); | |||
float y = random(height); | |||
float d = dist(x, y, width/2, height/2); | |||
if (d < globalDiam) { | |||
pp[n] = new Star(x, y); | |||
pp[n].diam = random(1, 2); | |||
pp[n].adv = random(.5); | |||
n ++; | |||
} | |||
} | |||
background(255); | |||
} | |||
void draw() { | |||
noStroke(); | |||
// animate + paint lonely stars | |||
for (int i = 0; i < pp.length; i++) { | |||
pp[i].go(); | |||
} | |||
// animate + paint constelated stars | |||
for (int i = 0; i < p.length; i++) { | |||
p[i].go(); | |||
} | |||
// paint constelations | |||
for (int i = 0; i < p.length; i++) { | |||
for (int j = p.length - 1; j > i; j--) { | |||
float d = dist(p[i].x, p[i].y, p[j].x, p[j].y); | |||
if (d < minDist) { | |||
float a = map(d, 0, minDist, maxAlpha, 0); | |||
stroke(0, a); | |||
line(p[i].x, p[i].y, p[j].x, p[j].y); | |||
} | |||
} | |||
} | |||
noStroke(); | |||
fill(255, 20); | |||
rect(0, 0, width, height); | |||
} | |||
</processingjs> | |||
</div> | |||
{{Asignatura | {{Asignatura | ||
|Nombre=Imagen Escrita: Introducción a la Programación Gráfica | |Nombre=Imagen Escrita: Introducción a la Programación Gráfica |
Revisión del 18:00 5 sep 2015
<processingjs> /**
* * Pyxis - e[ad] * 2014 * */
// Variables
int numC = 123; int numL = 3210;
float minDist = 120; float globalDiam = 290; float maxAlpha = 10;
Star[] p; // constelations Star[] pp; // lonely stars
// Star
class Star {
float x, y, ang, adv, diam, alpha; Star(float _x, float _y) { x = _x; y = _y; diam = random(1, 5); alpha = random(10, maxAlpha); ang = random(TWO_PI); adv = random(1); }
void go() { if (x > 10 && y > 10) { move(); paint(); } }
void move() { x += cos(ang) * adv; y += sin(ang) * adv; // float n = (noise(x,y) - .5) * .5; // ang += n; if (dist(x, y, width/2, height/2) > globalDiam) { float ANG = atan2((x - (width/2.0)), (y - (height/2.0))) * -1 + HALF_PI; ang += (ang - ANG); } }
void paint() { fill(0, alpha); ellipse(x, y, diam, diam); }
}
// -------------------------------
void setup() {
size(700, 700); p = new Star[numC]; pp = new Star[numL]; int n = 0;
// build constelations while (n < numC) { float x = random(width); float y = random(height); float d = dist(x, y, width/2, height/2); if (d < globalDiam) { p[n] = new Star(x, y); n ++; } }
n = 0;
// build lonely stars while (n < numL) { float x = random(width); float y = random(height); float d = dist(x, y, width/2, height/2); if (d < globalDiam) { pp[n] = new Star(x, y); pp[n].diam = random(1, 2); pp[n].adv = random(.5); n ++; } } background(255);
}
void draw() {
noStroke();
// animate + paint lonely stars for (int i = 0; i < pp.length; i++) { pp[i].go(); }
// animate + paint constelated stars for (int i = 0; i < p.length; i++) { p[i].go(); }
// paint constelations for (int i = 0; i < p.length; i++) { for (int j = p.length - 1; j > i; j--) { float d = dist(p[i].x, p[i].y, p[j].x, p[j].y); if (d < minDist) { float a = map(d, 0, minDist, maxAlpha, 0); stroke(0, a); line(p[i].x, p[i].y, p[j].x, p[j].y); } } } noStroke(); fill(255, 20); rect(0, 0, width, height);
} </processingjs>
Clave(es) | ARQ 060 |
---|---|
Créditos | 2 |
Profesor(es) | Herbert Spencer |
Del Programa | Arquitectura,Diseño |
Ciclo Formativo | Ciclo del Oficio |
Área de Estudio | Área Fundamental, Línea del Lenguaje Tecnológico |
Currículum | Ajuste Curricular 2015 |
Homologada | Gráfica Digital |
Régimen | semestral |
Período Académico | primero |
Horas PUCV | 1 teóricas + 1 de taller + 0 de ayudantía + 2,5 de trabajo autónomo * Las horas PUCV corresponden a periodos académicos de 35 minutos. |
Descripción y Contextualización de la Asignatura en el Currículo
Este curso corresponde a una introducción al diseño de software como una herramienta de expresión plástica; ya sea estática, cinética o interactiva. Aquí trataremos los fundamentos de la forma computacional y los principios de la programación gráfica basándonos en el lenguaje Processing. Los estudiantes se familiarizarán con algoritmos básicos, geometría computacional y simulación cinemática además de los conceptos básicos y necesarios para construir programas; como los diferentes tipos de datos, iteraciones, funciones y el concepto de objeto, entre otros. Este ramo busca equilibrar las nociones matemáticas abstractas de la computación con la expresión plástica y formal de los algoritmos, permitiendo una mirada más amplia, artística y lúdica de la forma computacional. Tener experiencia previa en programación no es un requisito para este curso.
Contenidos o Unidades de Aprendizaje
- Breve historia de la programación
- Contextualización histórica cyberpunk y cultura DIY
- Pensamiento algorítmico en el arte
- Entorno de desarrollo Processing
- Estructuras de datos
- Ciclos y Repeticiones
- Funciones propias
- Arreglos
- Objetos
- Elementos de interactividad
- Proyecciones: formas de extender y continuar el aprendizaje
Resultados de Aprendizaje
Una vez completada la asignatura, el o la estudiante será capaz de:
Competencias Fundamentales |
|
---|---|
Competencias Disciplinares |
|
Competencias Profesionales |
|
Actividades de Aprendizaje
- Presentaciones en modalidad de ponencia
- Talleres prácticos, tomando casos, explicando sus partes y desglosando sus métodos
- Reuniones individuales o grupales con el profesor
- Realización de proyectos individuales o grupales
Evaluación de los Resultados de Aprendizaje
- Constancia y cumplimiento de los encargos periódicos
- Creatividad entendida en este curso como la capacidad de conjeturar y explorar yendo más allá de la literalidad del ejemplo. Al no existir resultados correctos o falsos (como valor mensurable), nos remitiremos a sus dimensiones cualitativas
- ya sean en términos escriturales-estructurales (elegancia) o expresivo-plásticos (formales-idiosincráticos)
- Ciudadanía entendida como el sentido de colaboración y reciprocidad con el taller, manifestándose en disponibilidad y capacidad de entregar conocimientos y compartir código, reconociendo y citando las fuentes según sea el caso.
Bibliografía y Otros Recursos para el Aprendizaje
Processing: A Programming Handbook for Visual Designers and Artists |
The Nature of Code. Daniel Shiffman |
Herramietas
Cursos Realizados
- LC0: 2007(Año: 2 007)
- Processing: LC0(Año: 2 007)
- LC0: 2009(Año: 2 009)
- Imagen Escrita 2012(Año: 2 012)
- Imagen Escrita 2013 - ARQ(Año: 2 013)
- Imagen Escrita 2013 - DIS(Año: 2 013)
- Imagen Escrita 2017(Año: 2 017)
- Imagen Escrita 2018(Año: 2 018)
- Imagen Escrita 2019(Año: 2 019)
- Imagen Escrita 2019 T2(Año: 2 019)
- Imagen Escrita 2019 T1(Año: 2 019)
- Imagen Escrita 2020(Año: 2 020)
- Imagen Escrita 2021(Año: 2 021)
- Imagen Escrita 2022(Año: 2 022)
- Imagen Escrita 2023(Año: 2 023)
- Imagen Escrita: Espacios de Información(Año: 2 023)