{"id":826,"date":"2014-04-04T22:04:22","date_gmt":"2014-04-04T21:04:22","guid":{"rendered":"http:\/\/descartesjs.org\/documentacion\/?p=826"},"modified":"2021-08-07T16:20:44","modified_gmt":"2021-08-07T15:20:44","slug":"animaciones-las-ilusiones-de-koffka-y-de-haze","status":"publish","type":"post","link":"https:\/\/reddescartes.org\/documentacion\/animaciones-las-ilusiones-de-koffka-y-de-haze\/","title":{"rendered":"Animaciones &#8211; Las ilusiones de Koffka y de Haze"},"content":{"rendered":"<h2><span style=\"color: #339966;\"><b>El anillo de Koffka<\/b><\/span><\/h2>\n<p>Esta ilusi\u00f3n la realizaremos utilizando tres animaciones.<\/p>\n<p><b>Espacio. <\/b>Creamos una escena de 600&#215;400 y un espacio 2D, tal como aparece en la imagen.<\/p>\n<p style=\"text-align: center;\"><img class=\" wp-image-827 aligncenter\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka1.png\" alt=\"koffka1\" width=\"751\" height=\"239\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka1.png 834w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka1-300x95.png 300w\" sizes=\"(max-width: 751px) 100vw, 751px\" \/><\/p>\n<p><b><\/b><b>Controles.<\/b> Usaremos tres controles interiores tipo bot\u00f3n (n1, n2, y n3): el primer bot\u00f3n (n1) es para iniciar la segunda animaci\u00f3n (la primera se ejecuta al inicio de la escena), el segundo bot\u00f3n (n2) es para ejecutar la tercera animaci\u00f3n y el tercero es un bot\u00f3n de inicio (regresa a la primera animaci\u00f3n).<\/p>\n<p style=\"text-align: center;\"><img class=\" wp-image-828 aligncenter\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka2.png\" alt=\"koffka2\" width=\"669\" height=\"290\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka2.png 836w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka2-300x129.png 300w\" sizes=\"(max-width: 669px) 100vw, 669px\" \/><\/p>\n<p><b>Bot\u00f3n Ilusi\u00f3n 1. <\/b>Su configuraci\u00f3n se muestra en la imagen anterior. Observemos que se dibuja si cumple con la siguiente condici\u00f3n: (d=0) &amp; (k2=0) &amp; (h1&lt;1.1), donde d y h1 son variables de desplazamiento horizontal y vertical respectivamente, y k2 es una variable cuyos valores (0 \u00f3 1) determinan si se inicia o no la animaci\u00f3n dos. Los colores quedan a nuestra discreci\u00f3n.<\/p>\n<p><b>Bot\u00f3n Ilusi\u00f3n 2. <\/b>Tiene las mismas propiedades del anterior, excepto por el nombre (Ilusi\u00f3n 2), el color, el <b>dibujar-si<\/b> que es igual a (d&gt;.3) &amp; (k1=1) y el <b>par\u00e1metro<\/b> de c\u00e1lculo que es k2=1 \\nn=55.<\/p>\n<p><b>Bot\u00f3n inicio. <\/b>Tiene las mismas propiedades de los anteriores, excepto por el nombre (Inicio), el color, el <b>dibujar-si<\/b> que es igual a (h2&lt;.1)&amp;(k2=1) y el <b>par\u00e1metro<\/b> de c\u00e1lculo que es k2=0 \\nk1=0 \\nn=0 \\nd=0 \\nh1=5 \\nh2=5.<a href=\"https:\/\/descartesjs.org\/documentacion\/?p=826#_ftn1\">[1]<\/a><\/p>\n<p><b>Algoritmo de inicio. <\/b>Creamos tres variables: h1 = 5, h2 = 5 y n = 0. Las dos primeras las usaremos en la construcci\u00f3n de la gr\u00e1fica y variar\u00e1n en la animaci\u00f3n. La \u00faltima es una variable de control para las animaciones.<\/p>\n<p style=\"text-align: center;\"><img class=\" wp-image-829 aligncenter\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka3.png\" alt=\"koffka3\" width=\"672\" height=\"158\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka3.png 840w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka3-300x70.png 300w\" sizes=\"(max-width: 672px) 100vw, 672px\" \/><\/p>\n<div><b>Gr\u00e1ficos.<\/b> Utilizaremos siete gr\u00e1ficos: dos pol\u00edgonos, cuatro arcos y un texto.<\/div>\n<div><\/div>\n<div><img class=\" wp-image-830 aligncenter\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka4.png\" alt=\"koffka4\" width=\"756\" height=\"251\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka4.png 840w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka4-300x99.png 300w\" sizes=\"(max-width: 756px) 100vw, 756px\" \/><\/div>\n<div>\n<p><b>Pol\u00edgonos. <\/b>Corresponden a los dos rect\u00e1ngulos sobre los que se superpondr\u00e1 el anillo de Koffka. El primero estar\u00e1 definido por las coordenadas:<\/p>\n<p>(-3-d, 5.5)(-d, 5.5)(-d, -3)(-3-d, -3)(-3-d, 5.5)<\/p>\n<p>Su color es la combinaci\u00f3n RGB 555555 (ver imagen siguiente)<a title=\"\" href=\"\/Users\/jrivera\/Downloads\/clase22(v4).doc#_ftn1\">[2]<\/a>.<\/p>\n<p style=\"text-align: center;\"><img class=\"size-full wp-image-831 aligncenter\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka6.png\" alt=\"koffka6\" width=\"733\" height=\"188\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka6.png 733w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka6-300x76.png 300w\" sizes=\"(max-width: 733px) 100vw, 733px\" \/><\/p>\n<p>El segundo pol\u00edgono (del lado derecho) estar\u00e1 definido por las coordenadas:<\/p>\n<p>(3+d, 5.5)(d, 5.5)(d, -3)(3+d, -3)(3+d, 5.5) y color gris claro.<\/p>\n<p>Observemos que los rect\u00e1ngulos incluyen, en su definici\u00f3n, la variable <b>d<\/b>. Eso significa que si d&gt;0 entonces el primer pol\u00edgono se desplazar\u00e1 a la izquierda y el segundo a la derecha.<\/p>\n<p><b><br \/>\n<img class=\"alignright\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka7.png\" alt=\"koffka7\" width=\"275\" height=\"183\" \/>El anillo.<\/b> Lo construiremos con cuatro arcos para poder realizar las animaciones correspondientes. Habr\u00e1, entonces, dos arcos mayores y dos arcos menores. Los arcos menores tendr\u00e1n un relleno igual al color del rect\u00e1ngulo donde se superponen (ver imagen derecha) y los arcos mayores un color gris uniforme.<\/p>\n<p><span style=\"line-height: 1.5em;\">En la siguiente tabla se indican las propiedades de cada arco:<\/span><\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka8.png\"><img class=\" wp-image-834 aligncenter\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka8.png\" alt=\"koffka8\" width=\"554\" height=\"203\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka8.png 693w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka8-300x109.png 300w\" sizes=\"(max-width: 554px) 100vw, 554px\" \/><\/a><\/p>\n<p style=\"text-align: left;\"><span style=\"line-height: 1.5em;\">Observemos que los arcos dependen de la variable <\/span><b style=\"line-height: 1.5em;\">d<\/b><span style=\"line-height: 1.5em;\"> para su desplazamiento horizontal y de las variables <\/span><b style=\"line-height: 1.5em;\">h1<\/b><span style=\"line-height: 1.5em;\"> y <\/span><b style=\"line-height: 1.5em;\">h2 <\/b><span style=\"line-height: 1.5em;\">para el desplazamiento vertical. En la primera y segunda animaci\u00f3n h1 = h2 (ver <\/span>escena al final de este apartado<span style=\"line-height: 1.5em;\">), en la tercera sus valores son diferentes.<\/span><\/p>\n<p>\u00a0<b>El texto.<\/b> Insertamos un texto para el t\u00edtulo de la escena. El tama\u00f1o, tipo de letra y color, es a nuestra discreci\u00f3n.<\/p>\n<p><b><\/b><b>Animaciones.<\/b> Usaremos tres animaciones en una sola, utilizando controles booleanos. En la imagen siguiente podemos observar, inicialmente, que:<\/p>\n<p>Se encuentran activadas las casillas <b>Animaci\u00f3n, auto <\/b>y <b>repetir<\/b>. Esta activaci\u00f3n es parte clave para nuestras animaciones. <b>Auto<\/b> permite que la escena se inicie con la primera animaci\u00f3n y <b>repetir<\/b> permite que el ciclo <b>hacer \u2013 mientras<\/b> se repita indefinidamente. Es decir, <b>n<\/b> inicia en cero y se incrementa hasta un valor de 80; luego se repite continuamente este proceso.<\/p>\n<p style=\"text-align: center;\"><img class=\" wp-image-835 aligncenter\" src=\"https:\/\/descartesjs.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka9.png\" alt=\"koffka9\" width=\"754\" height=\"387\" srcset=\"https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka9.png 838w, https:\/\/reddescartes.org\/documentacion\/wp-content\/uploads\/2014\/04\/koffka9-300x153.png 300w\" sizes=\"(max-width: 754px) 100vw, 754px\" \/><\/p>\n<p>Durante la ejecuci\u00f3n de los ciclos se realizan las siguientes animaciones:<\/p>\n<p><b>Animaci\u00f3n 1. <\/b>Esta animaci\u00f3n se logra a trav\u00e9s de las instrucciones:<\/p>\n<p>h1=h1-.1*(n&lt;40)<\/p>\n<p>h2=h2-.1*(n&lt;40)-.1*(n&gt;70)*(n&lt;81)*(k2=1)<\/p>\n<p>Recordemos que \u00a0definimos h1 = h2 = 5 y n = 0, esto significa que los arcos se encuentran en la ordenada cinco. Al ser verdadera la expresi\u00f3n <b>n&lt;40<\/b>, entonces, durante el primer proceso de <b>auto animaci\u00f3n<\/b> los valores de h1 y h2 se reducir\u00e1n en una d\u00e9cima por cada ciclo, hasta que n sea igual a 40; es decir, los valores de h1| y h2 se reducir\u00e1n en 40*.1 = 4, hasta quedar en la ordenada uno. La animaci\u00f3n consiste en deslizar verticalmente hacia abajo el anillo de Koffka. Cada vez que hagamos clic en el bot\u00f3n inicio, h1 y h2 volver\u00e1n a tomar el valor de cinco y n el de cero, repitiendo la animaci\u00f3n.<\/p>\n<p><b>Animaci\u00f3n 2. <\/b>Esta animaci\u00f3n se logra a trav\u00e9s de la instrucci\u00f3n:<\/p>\n<p>d=d+.1*(n&gt;50)*(n&lt;55)*(k1=1)<\/p>\n<p>El valor de la variable <b>d<\/b> se incrementa cuando k1 = 1; es decir, cuando hacemos clic sobre el bot\u00f3n \u201cIlusi\u00f3n 1\u201d. Este incremento es s\u00f3lo de cinco d\u00e9cimas \u00bfpor qu\u00e9?<\/p>\n<p><b>Animaci\u00f3n 3. <\/b>Esta animaci\u00f3n es m\u00e1s interesante, en tanto que junta de nuevo arcos y pol\u00edgonos y, desplaza la segunda mitad del anillo hacia abajo. Se logra a trav\u00e9s de las instrucciones:<\/p>\n<p>h2=h2-.1*(n&lt;40)-.1*(n&gt;70)*(n&lt;81)*(k2=1)<\/p>\n<p>d=d-.1*(n&gt;55)*(n&lt;60)*(k2=1)<\/p>\n<p>Observemos que la variable <b>d<\/b> vuelve a recuperar las cinco cent\u00e9simas perdidas en la animaci\u00f3n anterior y que h2 se reduce en la misma cantidad. Si analizamos con cuidado ambas instrucciones, notaremos que:<\/p>\n<ul>\n<li>Las reducciones de <b>d <\/b>y <b>h2<\/b> se ejecutan cuando k2 =1; es decir, cuando se hace clic sobre el bot\u00f3n \u201cIlusi\u00f3n 2\u201d.<\/li>\n<li>Primero se reduce la variable <b>d <\/b>y luego empieza a descender la segunda parte del anillo.<\/li>\n<\/ul>\n<p>Finalmente, observemos la escena:<\/p>\n<div style=\"text-align: center;\">\n<!-- iframe plugin v.4.5 wordpress.org\/plugins\/iframe\/ -->\n<iframe src=\"https:\/\/descartesjs.org\/repositorio\/documentacion_4D\/Animaciones_JS\/Koffka.html\" width=\"630\" height=\"430\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n<\/div>\n<div style=\"text-align: center;\">(Puede descargar la escena anterior desde <a href=\"https:\/\/descartesjs.org\/repositorio\/documentacion_4D\/Animaciones_JS.zip\">este enlace<\/a>)<\/div>\n<div style=\"text-align: center;\"><\/div>\n<h2 style=\"text-align: left;\"><span style=\"color: #339966;\"><strong>La ilusi\u00f3n de neblina de Haze<\/strong><\/span><\/h2>\n<div style=\"text-align: left;\"><\/div>\n<div style=\"text-align: left;\"><span style=\"line-height: 1.5em;\">Esta ilusi\u00f3n se ha dise\u00f1ado utilizando los conceptos anteriores: familias de pol\u00edgonos, arcos y animaciones. Proponemos, como tarea, estudiarla y tratar de reproducirla. Si se presentan problemas, podemos copiar editar la escena<\/span><span style=\"line-height: 1.5em;\">\u00a0 para \u00a0analizar la forma como fue dise\u00f1ada. \u00a0A continuaci\u00f3n, se presenta la escena:<\/span><\/div>\n<div style=\"text-align: center;\">\n<!-- iframe plugin v.4.5 wordpress.org\/plugins\/iframe\/ -->\n<iframe src=\"https:\/\/descartesjs.org\/repositorio\/documentacion_4D\/Animaciones_JS\/neblina.html\" width=\"630\" height=\"510\" scrolling=\"yes\" class=\"iframe-class\" frameborder=\"0\"><\/iframe>\n<\/div>\n<div style=\"text-align: center;\">(Puede descargar la escena anterior desde <a href=\"http:\/\/descartesjs.org\/repositorio\/documentacion_4D\/Animaciones_JS.zip\">este enlace<\/a>)<\/div>\n<div style=\"text-align: left;\"><\/div>\n<div style=\"text-align: left;\"><\/div>\n<div style=\"text-align: left;\"><\/div>\n<hr align=\"left\" size=\"1\" width=\"33%\" \/>\n<div>\n<p>[1] Recuerda que RGB significa Red Green Blue (Rojo, Verde y Azul)<\/p>\n<\/div>\n<\/div>\n<div>\n<p>[2] Recuerda que los c\u00e1lculos definidos en <b>par\u00e1metro<\/b> se pueden ingresar haciendo clic en el bot\u00f3n <b>par\u00e1metro<\/b> \u00f3 sobre el mismo cuadro de di\u00e1logo separando cada c\u00e1lculo con la expresi\u00f3n \\n (barra inclinada inversa + n).<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>El anillo de Koffka Esta ilusi\u00f3n la realizaremos utilizando tres animaciones. Espacio. Creamos una escena de 600&#215;400 y un espacio 2D, tal como aparece en la imagen. Controles. Usaremos tres controles interiores tipo bot\u00f3n (n1, n2, y n3): el primer bot\u00f3n (n1) es para iniciar la segunda animaci\u00f3n (la primera se ejecuta al inicio de la escena), el segundo bot\u00f3n (n2) es para ejecutar la tercera animaci\u00f3n y el tercero es un bot\u00f3n de inicio (regresa a la primera animaci\u00f3n). Bot\u00f3n Ilusi\u00f3n 1. Su configuraci\u00f3n se muestra en la imagen anterior. Observemos que se dibuja si cumple con la siguiente<\/p>\n<a class=\"more-link\" rel=\"nofollow\" href=\"https:\/\/reddescartes.org\/documentacion\/animaciones-las-ilusiones-de-koffka-y-de-haze\/\">[Leer m\u00e1s...]<\/a>","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[68,111,69,72,70,71],"_links":{"self":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts\/826"}],"collection":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/comments?post=826"}],"version-history":[{"count":18,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts\/826\/revisions"}],"predecessor-version":[{"id":3516,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/posts\/826\/revisions\/3516"}],"wp:attachment":[{"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/media?parent=826"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/categories?post=826"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reddescartes.org\/documentacion\/wp-json\/wp\/v2\/tags?post=826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}