{"id":818,"date":"2019-08-19T11:02:53","date_gmt":"2019-08-19T09:02:53","guid":{"rendered":"http:\/\/quadern-tpi.recursos.uoc.edu\/2-5-1-introduccio\/"},"modified":"2019-10-15T12:55:58","modified_gmt":"2019-10-15T10:55:58","slug":"2-5-1-introduccio","status":"publish","type":"page","link":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/2-5-1-introduccio\/","title":{"rendered":"2.5.1. Introducci\u00f3n"},"content":{"rendered":"<p>Tal y como hemos comentado al principio, el <strong>arte generativo<\/strong> es aquel que ha sido creado, totalmente o en parte, usando un <strong>sistema aut\u00f3nomo<\/strong>. El artista automatiza de alguna manera la producci\u00f3n de algunas partes de su obra. Para hacerlo, crea unas reglas de producci\u00f3n (como las que hemos visto en los ejemplos anteriores) y las implementa con alg\u00fan lenguaje de programaci\u00f3n o en forma de m\u00e1quina o de alg\u00fan automatismo f\u00edsico.<\/p>\n<p>Snap! tiene una caracter\u00edstica interesante que nos ayuda a automatizar acciones. Podemos crear <strong>nuestros propios bloques <\/strong>(en inform\u00e1tica esto lo denominamos <strong>funciones<\/strong>). En el \u00e1rea de los bloques de instrucciones, debajo de cada uno de los men\u00fas se halla el bot\u00f3n \u00abCrea un bloque\u00bb, que nos abre esta ventana:<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-1323\" src=\"\/wp-content\/uploads\/2019\/10\/20.212_41_cast.png\" alt=\"\" width=\"400\" height=\"422\" srcset=\"\/wp-content\/uploads\/2019\/10\/20.212_41_cast.png 314w, \/wp-content\/uploads\/2019\/10\/20.212_41_cast-285x300.png 285w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/p>\n<p>Podemos elegir el men\u00fa donde a\u00f1adiremos el nuevo bloque (movimiento, sonido, l\u00e1piz, etc.) y el tipo de bloque (generalmente elegiremos \u00abComando\u00bb, pero tambi\u00e9n podr\u00edamos crear predicados que nos sirviesen de condiciones).<\/p>\n<p>Ve\u00e1moslo con un ejemplo. Crearemos un nuevo bloque que dibuje un cuadrado. En la gu\u00eda 1 aprendimos a dibujar un cuadrado. Ahora veremos c\u00f3mo automatizar esta acci\u00f3n para que cada vez que necesitemos un cuadrado podamos sencillamente usar la nueva instrucci\u00f3n \u00abcuadrado\u00bb.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-1325 size-full\" src=\"\/wp-content\/uploads\/2019\/10\/20.212_42_cast.jpg\" alt=\"\" width=\"800\" height=\"478\" srcset=\"\/wp-content\/uploads\/2019\/10\/20.212_42_cast.jpg 800w, \/wp-content\/uploads\/2019\/10\/20.212_42_cast-300x179.jpg 300w, \/wp-content\/uploads\/2019\/10\/20.212_42_cast-768x459.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>Elegiremos el men\u00fa \u00abL\u00e1piz\u00bb, le pondremos por nombre \u00abcuadrado\u00bb y elegiremos \u00abComando\u00bb. Al pulsar \u00abDe acuerdo\u00bb se nos abrir\u00e1 una ventana, que es el editor de bloques. Haciendo clic en el s\u00edmbolo \u00ab+\u00bb del lado derecho del cuadrado, podremos a\u00f1adir un par\u00e1metro, al que denominaremos \u00abmedida\u00bb. De este modo, cuando queramos hacer un cuadrado lo podremos hacer del tama\u00f1o que queramos (o hacer que sea aleatorio con la instrucci\u00f3n que ya hemos aprendido antes).<\/p>\n<p>Una vez creado el par\u00e1metro \u00abmedida\u00bb, podemos definir exactamente qu\u00e9 har\u00e1 la instrucci\u00f3n \u00abcuadrado\u00bb cada vez que la utilicemos. Lo haremos creando la secuencia de instrucciones necesaria (\u00abrepite 4 veces, mu\u00e9vete adelante y gira 90\u00b0\u00bb). Cuando a\u00f1adamos el bloque \u00abmu\u00e9vete\u00bb, en lugar de escribir un n\u00famero concreto de pasos, pondremos dentro la variable \u00abmedida\u00bb, que ya se nos ha creado autom\u00e1ticamente y que podemos arrastrar. Al final del proceso deber\u00edamos tener algo parecido a esto:<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-1327\" src=\"\/wp-content\/uploads\/2019\/10\/20.212_43_cast.png\" alt=\"\" width=\"400\" height=\"340\" srcset=\"\/wp-content\/uploads\/2019\/10\/20.212_43_cast.png 374w, \/wp-content\/uploads\/2019\/10\/20.212_43_cast-300x255.png 300w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/p>\n<p>Acabados todos estos pasos, si vamos al men\u00fa \u00abL\u00e1piz\u00bb encontraremos una nueva instrucci\u00f3n como esta:<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-1329\" src=\"\/wp-content\/uploads\/2019\/10\/20.212_44_cast.png\" alt=\"\" width=\"190\" height=\"57\" \/><\/p>\n<p>A partir de ahora podemos usar esta instrucci\u00f3n en nuestros programas cada vez que queramos dibujar un cuadrado.<\/p>\n<p>Por ejemplo, creamos un programa que dibuje cien cuadrados en lugares aleatorios del escenario, y que cada cuadrado tenga una medida tambi\u00e9n aleatoria (entre 10 y 50 pasos).<\/p>\n<figure id=\"attachment_1331\" aria-describedby=\"caption-attachment-1331\" style=\"width: 550px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" class=\"wp-image-1331\" src=\"\/wp-content\/uploads\/2019\/10\/20.212_45_cast.jpg\" alt=\"\" width=\"550\" height=\"784\" srcset=\"\/wp-content\/uploads\/2019\/10\/20.212_45_cast.jpg 800w, \/wp-content\/uploads\/2019\/10\/20.212_45_cast-211x300.jpg 211w, \/wp-content\/uploads\/2019\/10\/20.212_45_cast-768x1094.jpg 768w, \/wp-content\/uploads\/2019\/10\/20.212_45_cast-719x1024.jpg 719w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><figcaption id=\"caption-attachment-1331\" class=\"wp-caption-text\"><a href=\"https:\/\/snap.berkeley.edu\/snapsource\/snap.html#present:Username=uoc_tpi&amp;ProjectName=nou%20bloc%20-%20quadrat%20de%20mida%20x\" target=\"_blank\" rel=\"noopener noreferrer\">C\u00f3digo del programa<\/a><\/figcaption><\/figure>\n<p>Si quisi\u00e9ramos, podr\u00edamos crear m\u00e1s de un par\u00e1metro y, aparte de \u00abmedida\u00bb, tener tambi\u00e9n \u00abcolor\u00bb, \u00abgrosor de l\u00ednea\u00bb, etc.<\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-1333 size-full\" src=\"\/wp-content\/uploads\/2019\/10\/20.212_46_cast.jpg\" alt=\"\" width=\"800\" height=\"514\" srcset=\"\/wp-content\/uploads\/2019\/10\/20.212_46_cast.jpg 800w, \/wp-content\/uploads\/2019\/10\/20.212_46_cast-300x193.jpg 300w, \/wp-content\/uploads\/2019\/10\/20.212_46_cast-768x493.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>De este modo, podemos repetir el ejemplo anterior pero dibujando cien cuadrados que, aparte de posici\u00f3n y medida aleatoria, tengan colores y medidas diferentes.<\/p>\n<figure id=\"attachment_1335\" aria-describedby=\"caption-attachment-1335\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" class=\"wp-image-1335 size-full\" src=\"\/wp-content\/uploads\/2019\/10\/20.212_47_cast.jpg\" alt=\"\" width=\"800\" height=\"936\" srcset=\"\/wp-content\/uploads\/2019\/10\/20.212_47_cast.jpg 800w, \/wp-content\/uploads\/2019\/10\/20.212_47_cast-256x300.jpg 256w, \/wp-content\/uploads\/2019\/10\/20.212_47_cast-768x899.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-1335\" class=\"wp-caption-text\"><a href=\"https:\/\/snap.berkeley.edu\/snapsource\/snap.html#present:Username=uoc_tpi&amp;ProjectName=nou%20bloc%20-%20quadrat%20tres%20par%C3%A0metres\" target=\"_blank\" rel=\"noopener noreferrer\">C\u00f3digo del programa<\/a><\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Tal y como hemos comentado al principio, el arte generativo es aquel que ha sido creado, totalmente o en parte, usando un sistema aut\u00f3nomo. El artista automatiza de alguna manera la producci\u00f3n de algunas partes de su obra. Para hacerlo, crea unas reglas de producci\u00f3n (como las que hemos visto en los ejemplos anteriores) y [&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\/818"}],"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=818"}],"version-history":[{"count":4,"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/818\/revisions"}],"predecessor-version":[{"id":1337,"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/pages\/818\/revisions\/1337"}],"wp:attachment":[{"href":"http:\/\/quadern-tpi.recursos.uoc.edu\/es\/wp-json\/wp\/v2\/media?parent=818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}