{"id":2301,"date":"2021-10-15T09:43:07","date_gmt":"2021-10-15T07:43:07","guid":{"rendered":"http:\/\/quadern-tpi.recursos.uoc.edu\/?page_id=2301"},"modified":"2021-12-20T01:11:02","modified_gmt":"2021-12-19T23:11:02","slug":"3-4-5-ejercicio-4-mosaicos-generativos-e-interactivos","status":"publish","type":"page","link":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/3-4-5-ejercicio-4-mosaicos-generativos-e-interactivos\/","title":{"rendered":"3.4.5. Ejercicio 4: mosaicos generativos e interactivos"},"content":{"rendered":"<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-1840\" src=\"\/wp-content\/uploads\/2021\/09\/banner.jpg\" alt=\"\" width=\"1198\" height=\"600\" srcset=\"\/wp-content\/uploads\/2021\/09\/banner.jpg 1198w, \/wp-content\/uploads\/2021\/09\/banner-300x150.jpg 300w, \/wp-content\/uploads\/2021\/09\/banner-768x385.jpg 768w, \/wp-content\/uploads\/2021\/09\/banner-1024x513.jpg 1024w\" sizes=\"(max-width: 1198px) 100vw, 1198px\" \/><\/p>\n<p>En este ejercicio proponemos programar mosaicos generativos y a\u00f1adir algo de interactividad. Empezaremos dibuj\u00e1ndolos, luego a\u00f1adiremos la posibilidad de interactuar con el rat\u00f3n, y finalmente exploraremos la idea de hacer dise\u00f1os creados fuera de Snap! (a partir de fotograf\u00edas, dibujos, etc.).<\/p>\n<p>Podemos empezar imaginando un mosaico con baldosas cuadradas, cada una de un color diferente. Pensando ya en la interactividad, en vez de trabajar con un \u00fanico personaje que dibuje todos los cuadrados y los pinte, trabajaremos con clones. En el ejemplo compartido (todo el c\u00f3digo <a href=\"https:\/\/snap.berkeley.edu\/snap\/snap.html#present:Username=uoc_tpi&amp;ProjectName=Tiles\">aqu\u00ed<\/a>), tenemos un escenario de 600 x 600 p\u00edxeles, y el mosaico tiene seis filas y seis columnas. As\u00ed pues, las filas y columnas tienen tama\u00f1o 100. Usaremos un doble bucle para crear clones de nuestro personaje y situarlos en el v\u00e9rtice superior izquierdo de cada una de las baldosas.<\/p>\n<p><img loading=\"lazy\" class=\"wp-image-2303 size-full alignnone\" src=\"\/wp-content\/uploads\/2021\/10\/Script01_es.png\" alt=\"\" width=\"212\" height=\"299\" \/><\/p>\n<p>A partir de ah\u00ed, habr\u00e1 que programar qu\u00e9 sucede cuando cada clon empieza a ejecutarse. En nuestro ejemplo vamos a hacer que cada clon dibuje un cuadrado (la baldosa) de 100 x 100. Estableceremos el color de manera aleatoria, jugando con los valores de tonalidad, saturaci\u00f3n y brillo. Una vez dibujado el cuadrado, habr\u00e1 que pintarlo del mismo color. Lo podemos hacer con la instrucci\u00f3n \u00abrellena\u00bb. Esto significa que primero tendremos que colocar el clon dentro del cuadrado, ya que cuando lo termina de dibujar vuelve a estar en el punto inicial (sobre la l\u00ednea) y, por lo tanto, la instrucci\u00f3n <em>rellanar<\/em> no funcionar\u00eda. En el ejemplo, subamos el l\u00e1piz y mov\u00e1monos 50 puntos hacia la derecha y 50 puntos hacia abajo (as\u00ed estaremos en el centro). Es importante recordar subir el l\u00e1piz, porque de lo contrario, aunque nos movamos hacia el interior del cuadrado, seguiremos estando sobre la l\u00ednea que dibujamos y rellenar no funcionar\u00e1.<\/p>\n<p><img loading=\"lazy\" class=\"wp-image-2305 size-full alignnone\" src=\"\/wp-content\/uploads\/2021\/10\/Script02_es.png\" alt=\"\" width=\"483\" height=\"394\" srcset=\"\/wp-content\/uploads\/2021\/10\/Script02_es.png 483w, \/wp-content\/uploads\/2021\/10\/Script02_es-300x245.png 300w\" sizes=\"(max-width: 483px) 100vw, 483px\" \/><img loading=\"lazy\" class=\"alignnone wp-image-1846 size-medium\" src=\"\/wp-content\/uploads\/2021\/09\/quadrats1-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"\/wp-content\/uploads\/2021\/09\/quadrats1-300x300.png 300w, \/wp-content\/uploads\/2021\/09\/quadrats1-150x150.png 150w, \/wp-content\/uploads\/2021\/09\/quadrats1.png 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Cada vez que hagamos clic en la bandera verde, el mosaico ser\u00e1 diferente, pero los colores ser\u00e1n similares debido a los umbrales que se han utilizado al elegir la tonalidad, la saturaci\u00f3n y el brillo.<\/p>\n<p>Ahora podemos seguir dibujando un c\u00edrculo de di\u00e1metro 100 dentro de cada una de las baldosas del mosaico. Cada clon ya est\u00e1 ubicado en el centro del cuadrado, por lo que hacer los c\u00edrculos es muy sencillo, solo tenemos que continuar el c\u00f3digo haciendo que vuelva a fijar un color aleatorio, y que baje y suba el l\u00e1piz (habiendo establecido el tama\u00f1o del l\u00e1piz en 100). De hecho, con Snap!, cuando queremos hacer un punto, sea del tama\u00f1o que sea, no basta con bajar y subir el l\u00e1piz. Una vez bajado, tenemos que hacer un peque\u00f1o movimiento. Por esto, en el ejemplo, se aumenta la X en 0,01 y disminuye nuevamente de inmediato.<\/p>\n<p><img loading=\"lazy\" class=\"wp-image-2307 size-full alignnone\" src=\"\/wp-content\/uploads\/2021\/10\/Script03_es.png\" alt=\"\" width=\"483\" height=\"221\" srcset=\"\/wp-content\/uploads\/2021\/10\/Script03_es.png 483w, \/wp-content\/uploads\/2021\/10\/Script03_es-300x137.png 300w\" sizes=\"(max-width: 483px) 100vw, 483px\" \/><img loading=\"lazy\" class=\"alignnone wp-image-1850 size-medium\" src=\"\/wp-content\/uploads\/2021\/09\/quadrats-i-cercles-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"\/wp-content\/uploads\/2021\/09\/quadrats-i-cercles-300x300.png 300w, \/wp-content\/uploads\/2021\/09\/quadrats-i-cercles-150x150.png 150w, \/wp-content\/uploads\/2021\/09\/quadrats-i-cercles.png 600w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Hasta ahora, lo que hemos hecho es dibujar un mosaico con cuadrados y c\u00edrculos, con colores aleatorios pero de una gama crom\u00e1tica cercana. Ahora, a\u00f1adiremos interactividad. La idea es que cuando pasemos el rat\u00f3n sobre el mosaico, este cambie. En concreto, haremos que cuando el rat\u00f3n est\u00e9 sobre una baldosa, esta dibuje un nuevo c\u00edrculo, de tama\u00f1o y colores aleatorios, pero m\u00e1s peque\u00f1o que el primer c\u00edrculo que ha pintado.<\/p>\n<p>Lo har\u00e1 con un bucle para siempre, un condicional y un bloque del men\u00fa sensores: \u00abdistancia a puntero del rat\u00f3n\u00bb. Dado que los clones todav\u00eda est\u00e1n en el centro de cada baldosa, para detectar si el rat\u00f3n est\u00e1 en la baldosa, tendremos que controlar cu\u00e1ndo la distancia entre el clon y el rat\u00f3n es inferior a 50.<\/p>\n<p>Despu\u00e9s, sencillamente volvemos a fijar un nuevo clon aleatorio, y volvemos a pintar un c\u00edrculo, dando al l\u00e1piz un tama\u00f1o aleatorio menor de 100.<\/p>\n<p><img loading=\"lazy\" class=\"wp-image-2309 size-full alignnone\" src=\"\/wp-content\/uploads\/2021\/10\/Script04_es.png\" alt=\"\" width=\"500\" height=\"308\" srcset=\"\/wp-content\/uploads\/2021\/10\/Script04_es.png 500w, \/wp-content\/uploads\/2021\/10\/Script04_es-300x185.png 300w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/p>\n<p><a href=\"https:\/\/snap.berkeley.edu\/snap\/snap.html#present:Username=uoc_tpi&amp;ProjectName=Tiles\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" class=\"wp-image-1854 size-full\" src=\"\/wp-content\/uploads\/2021\/09\/mosaic02.gif\" alt=\"\" width=\"600\" height=\"600\" \/><\/a><a href=\"https:\/\/snap.berkeley.edu\/snap\/snap.html#present:Username=uoc_tpi&amp;ProjectName=Tiles\">C\u00f3digo enter<\/a><u>o<\/u><\/p>\n<p>Proponemos que, con esta idea, construyamos nuestro propio mosaico, cambiando el tama\u00f1o, las formas, los colores y jugando con otras maneras de hacerlo interactivo. Por ejemplo, podr\u00edamos pensar en c\u00f3mo combinar el mosaico con m\u00fasica.<\/p>\n<p>Un tema que tambi\u00e9n podemos explorar es usar im\u00e1genes propias para hacer las baldosas. Es decir, en lugar de dibujar las formas con Snap!, podemos trabajar con una foto o dibujo que hayamos hecho, cort\u00e1ndolo en im\u00e1genes m\u00e1s peque\u00f1as (con un editor gr\u00e1fico) y luego abriendo cada imagen como un personaje dentro de Snap!, coloc\u00e1ndolos en forma de cuadr\u00edcula. Cada personaje podr\u00eda tener diferentes \u00abvestidos\u00bb o podr\u00edamos modificar su color o transparencia jugando con los efectos del men\u00fa de \u00abapariencia\u00bb. A continuaci\u00f3n tenemos un ejemplo de <em>Genoma po\u00e9tico.<\/em><\/p>\n<figure id=\"attachment_1856\" aria-describedby=\"caption-attachment-1856\" style=\"width: 700px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.genomapoetico.com\/2020\/04\/07\/desequilibrios\/\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" class=\"wp-image-1856 size-full\" src=\"\/wp-content\/uploads\/2021\/09\/puzzle.gif\" alt=\"\" width=\"700\" height=\"688\" \/><\/a><figcaption id=\"caption-attachment-1856\" class=\"wp-caption-text\"><a href=\"https:\/\/www.genomapoetico.com\/2020\/04\/07\/desequilibrios\/\" target=\"_blank\" rel=\"noopener noreferrer\">Genoma po\u00e9tico<\/a> (2020)<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>En este ejercicio proponemos programar mosaicos generativos y a\u00f1adir algo de interactividad. Empezaremos dibuj\u00e1ndolos, luego a\u00f1adiremos la posibilidad de interactuar con el rat\u00f3n, y finalmente exploraremos la idea de hacer dise\u00f1os creados fuera de Snap! (a partir de fotograf\u00edas, dibujos, etc.). Podemos empezar imaginando un mosaico con baldosas cuadradas, cada una de un color diferente. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/2301"}],"collection":[{"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/comments?post=2301"}],"version-history":[{"count":4,"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/2301\/revisions"}],"predecessor-version":[{"id":2610,"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/2301\/revisions\/2610"}],"wp:attachment":[{"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/media?parent=2301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}