Tutorial 5
Tamaño y Rotacion
En este tutorial no veremos
conceptos nuevos sino que exploraremos más algunas
instrucciones ya estudiadas. La instrucción que se
introducirá en este tutorial es glScale. Esta instrucción
manipula la “escala de nuestros ejes de referencia. Es una
transformación acumulativa como las demás que hemos
visto, en el sentido de que todas las transformaciones posteriores
están afectadas por este cambio de escala, hasta que aparezca
un nuevo glLoadIdentity. Por ejemplo, si luego de cambiar de escala
al doble del tamaño, se hace un desplazamiento de 1 unidad, lo
que sucede realmente es que se desplazan 2 unidades, porque estamos
trasladando una unidad en un sistema de coordenadas transformado.
También jugaremos un poco con los valores de color (vea el
score) y con rotación. Se puede ver como rotaciones simple
crean interesantes efectos 3D.
<CsoundSynthesizer>
<CsOptions>
-+Y
</CsOptions>
<CsInstruments>
#include "OpenGL.h"
sr=100
kr =100
ksmps=1
nchnls=1
GLfps 30
GLpanel "OpenGL panel",
512, 512
GLpanel_end
FLrun
glMatrixMode $GL_PROJECTION
glLoadIdentity
gluPerspective 60,0.1,100
glMatrixMode $GL_MODELVIEW
GLinsert_i $GL_NOT_VALID
glClear $GL_COLOR_BUFFER_BIT
+ $GL_DEPTH_BUFFER_BIT
GLinsert_i 1.1
gisine ftgen 1,0,1024,10,1
instr 2
ired = p4
igreen = p5
iblue = p6
ix = p7
iy = p8
glLoadIdentity
tsize GLoscil 1,360,1
trot1 GLoscil 1,300,1
glTranslate ix,iy,-6
glRotate (trot1*360),1,0,1
glColor ired,igreen,iblue,1
glScale (tsize*3) , (tsize*3)
,(tsize*3)
glLineWidth 6
glBegin $GL_LINE_LOOP
glVertex3 0,0,0
glVertex3 1,0,0
glVertex3 1,1,0
glVertex3 0,1,0
glEnd
GLinsert 1.5
endin
</CsInstruments>
<CsScore>
i 2 2 38 1 0 0 1 -1
i 2 3 37 0.8 0.2 0 0.8 -0.8
i 2 4 36 0.6 0.4 0 0.6 -0.6
i 2 5 35 0.4 0.6 0 0.4 -0.4
i 2 6 34 0.2 0.8 0 0.2 -0.2
i 2 7 33 0 1 0 0 0
i 2 8 32 0 0.8 0.2 -0.2 0.2
i 2 9 31 0 0.6 0.4 -0.4 0
i 2 10 30 0 0.4 0.6 -0.6 0
i 2 11 29 0 0.2 0.8 -0.8 0
i 2 12 28 0 0 1 -1 0
i 2 13 27 0.2 0 0.8 -1.2 0
i 2 14 26 0.4 0 0.6 -1.4 0
</CsScore>
</CsoundSynthesizer>
Como
dije antes, este tutorial no introduce conceptos nuevos, pero muestra
otros usos de instrucciones ya vistas. También se ve más
interesante porque se mueve de una manera más inusual. Como
siempre puede experimentar cambiando valores para ver los diferentes
resulados
Regreso
al menú de tutoriales de Video