1 00:00:08,109 --> 00:00:09,530 Acabamos el módulo 2 00:00:09,530 --> 00:00:11,939 hablando de el caso de curvas 3 00:00:11,939 --> 00:00:15,700 racionales a trozos, es decir de splines racionales. 4 00:00:17,390 --> 00:00:20,029 Aplicar el algoritmo De Boor a curvas racionales 5 00:00:20,029 --> 00:00:23,759 supone como única novedad introducir el peso, con lo cual 6 00:00:23,759 --> 00:00:28,769 el resto de algoritmos que hemos utilizado como algunos de inserción de nudos 7 00:00:28,769 --> 00:00:29,520 de elevación del grado 8 00:00:29,520 --> 00:00:31,340 se puede aplicar de idéntica manera 9 00:00:31,340 --> 00:00:36,500 simplemente teniendo en cuenta que tenemos pesos, es decir, que nuestros vértices 10 00:00:36,500 --> 00:00:38,190 en el polígono que llamábamos vectorial 11 00:00:38,190 --> 00:00:40,500 tienen una coordenada adicional 12 00:00:41,720 --> 00:00:43,250 sí queremos utilizar 13 00:00:43,250 --> 00:00:46,230 las funciones de splines, las funciones nodales 14 00:00:46,230 --> 00:00:51,060 la única diferencia es que aparte de la combinación con los vertices del polígono de control y las funciones 15 00:00:51,480 --> 00:00:54,300 nos va aparecer también un denominador con los pesos 16 00:00:57,560 --> 00:00:59,600 correspondientes a los vertices del polígono de spline 17 00:00:59,600 --> 00:01:00,600 como siempre 18 00:01:00,600 --> 00:01:04,100 por cada vértice del polígono, tenemos un peso 19 00:01:04,660 --> 00:01:08,130 la lista de nudos no sufre ningún cambio 20 00:01:08,130 --> 00:01:11,300 al igual que con la propiedad de control local 21 00:01:11,300 --> 00:01:12,960 si movemos un peso 22 00:01:12,960 --> 00:01:16,590 movemos a lo sumo n+1 tramos de la curva 23 00:01:16,590 --> 00:01:19,500 que es lo que vemos aquí, en este caso parabólico 24 00:01:19,500 --> 00:01:23,520 movemos el peso W 3 y vemos que el tramo amarillo, el tramo verde y el tramo azul 25 00:01:23,520 --> 00:01:26,250 se ven afectados 26 00:01:26,250 --> 00:01:30,380 o si lo queremos ver de manera continua, lo podemos ver 27 00:01:30,380 --> 00:01:36,740 en esta animación 28 00:01:36,740 --> 00:01:39,800 por fin vamos a ver un caso aplicado 29 00:01:39,800 --> 00:01:44,250 en los pdf teneís más casos aplicados, pero este caso es especialmente interesante 30 00:01:44,250 --> 00:01:48,260 ¿podemos utilizar esta construcción de los splines racionales para construir 31 00:01:48,260 --> 00:01:51,410 curvas sencillas como la circunferencia? 32 00:01:51,410 --> 00:01:54,940 vamos a ver, que vamos a encontrar un problema complicado 33 00:01:54,940 --> 00:01:57,790 pero lo resolveremos, no os preocupéis 34 00:01:57,790 --> 00:01:59,920 con una circunferencia 35 00:01:59,920 --> 00:02:02,670 con cuatro tramos de 90 grados 36 00:02:02,670 --> 00:02:05,450 lo razonable sería hacer esta construcción que tenemos aquí 37 00:02:05,450 --> 00:02:07,020 inicialmente tendríamos 38 00:02:07,020 --> 00:02:10,819 un arco de circunferencia comenzarían de 0, de 1 39 00:02:10,819 --> 00:02:11,829 aquí tendríamos 40 00:02:11,829 --> 00:02:13,979 el vértice que hemos borrado 41 00:02:13,979 --> 00:02:16,229 para que no nos lo modifique nuestro diseñador 42 00:02:16,229 --> 00:02:17,539 él siguiente sería, 43 00:02:17,539 --> 00:02:20,329 esta esquina, 44 00:02:20,329 --> 00:02:25,079 y remataríamos la circunferencia al cerrarla, uniendo el 45 00:02:25,079 --> 00:02:27,789 el vértice de 0, con el de 5 46 00:02:27,789 --> 00:02:31,909 ¿qué pesos tendrían estos vértices? 47 00:02:31,909 --> 00:02:33,010 el vértice de 0 48 00:02:33,010 --> 00:02:34,679 y el de 5, tendrían 49 00:02:34,679 --> 00:02:36,879 peso unidad, peso normalizado 50 00:02:36,879 --> 00:02:42,569 y estos, como son vértices intermedios, tendrían peso 1 partido por raiz de 2 51 00:02:42,569 --> 00:02:44,460 ¿qué nudos utilizariamos? 52 00:02:44,719 --> 00:02:49,580 si consideramos intervalos 0 - 1, 1 - 2, 2 - 3, 3 - 4, 53 00:02:49,669 --> 00:02:50,660 a los cuatro tramos 54 00:02:50,660 --> 00:02:53,309 habría que añadir nudos adicionales, el 0 55 00:02:53,309 --> 00:02:55,449 y 4 al comienzo 56 00:02:55,449 --> 00:02:59,249 introducimos esta información en nuestra aplicación de diseño 57 00:02:59,249 --> 00:03:00,239 y ¿qué obtenemos? 58 00:03:00,239 --> 00:03:03,790 obtenemos un resultado decepcionante, lo que obtenemos si lo comparamos con una 59 00:03:03,790 --> 00:03:07,559 circunferencia, no es exactamente una circunferencia 60 00:03:07,559 --> 00:03:09,079 ¿a qué se debe? 61 00:03:09,079 --> 00:03:10,569 a que aquí tenemos 62 00:03:10,569 --> 00:03:13,490 para calcular algunos de esos tramos, tenemos listas de pesos 63 00:03:13,490 --> 00:03:16,030 repetidos, y al tener listas de pesos repetidos 64 00:03:16,030 --> 00:03:18,130 tendríamos que los tramos de esta parte 65 00:03:18,130 --> 00:03:19,219 son parabólicos 66 00:03:19,219 --> 00:03:21,579 y no son circunferencias 67 00:03:21,579 --> 00:03:22,840 ¿cómo salimos del paso? 68 00:03:22,840 --> 00:03:26,779 ¿cómo podemos trazar circunferencias de verdad? 69 00:03:26,779 --> 00:03:28,370 la solución, la hemos visto 70 00:03:28,370 --> 00:03:30,469 lo que pasa es que a lo mejor, no nos acordamos 71 00:03:30,469 --> 00:03:31,660 la solución correcta 72 00:03:31,660 --> 00:03:36,180 es utilizar nudos repetidos, que si os acordáis, lo utilizábamos para construir 73 00:03:36,180 --> 00:03:37,279 puntos angulosos 74 00:03:37,279 --> 00:03:40,549 aunque parezca extraño, vas a construir puntos angulosos que no son angulosos 75 00:03:40,549 --> 00:03:44,300 que son puntos perfectamente regulares, debemos de utilizar este tipo de construcción 76 00:03:45,099 --> 00:03:46,380 como decía anteriormente 77 00:03:46,380 --> 00:03:47,959 el primer tramo tendría 78 00:03:47,959 --> 00:03:50,109 un polígono d0, d1, d2 79 00:03:50,109 --> 00:03:52,270 el siguiente tramo d2, d3, d4 80 00:03:52,270 --> 00:03:55,399 y así sucesivamente 81 00:03:55,399 --> 00:03:58,239 si no quiero eliminar 82 00:03:58,239 --> 00:04:01,820 estos vértices d2, d4, d6 83 00:04:02,060 --> 00:04:03,149 lo que puedes hacer es 84 00:04:03,149 --> 00:04:07,509 trabajar con un spline que en vez de ser de clase c1, sea de clase c0, es decir 85 00:04:07,509 --> 00:04:08,599 que solamente mantenga 86 00:04:08,599 --> 00:04:09,849 la continuidad 87 00:04:09,849 --> 00:04:11,060 ¿cómo consigo esto? 88 00:04:11,060 --> 00:04:12,739 si recordamos los vídeos anteriores 89 00:04:12,739 --> 00:04:15,089 la opción para hacer esto, era utilizar 90 00:04:15,089 --> 00:04:17,469 nudos repetidos 91 00:04:17,469 --> 00:04:20,249 entonces, el polígono es el que he descrito 92 00:04:20,249 --> 00:04:23,080 la lista de pesos 93 00:04:23,080 --> 00:04:24,529 pues, sería la habitual 94 00:04:24,529 --> 00:04:27,699 1 raiz de 2, 1 95 00:04:27,699 --> 00:04:31,360 1 partido por raiz de 2, 1 96 00:04:31,360 --> 00:04:35,080 y la lista de nudos sería la que tendríamos anteriormente, pero repitiendo los nudos interiores 97 00:04:35,080 --> 00:04:36,319 es decir, tendríamos 98 00:04:36,319 --> 00:04:40,129 dos 0 repetidos, dos 1 repetidos para el primer intervalo 99 00:04:40,129 --> 00:04:41,220 dos 2 repetidos 100 00:04:41,220 --> 00:04:44,749 para el siguiente intervalo, y así sucesivamente 101 00:04:44,749 --> 00:04:46,410 recordáis que esta 102 00:04:46,410 --> 00:04:48,460 posibilidad de nudos repetidos la utilizábamos para 103 00:04:48,460 --> 00:04:49,990 conseguir tangentes no continuas 104 00:04:49,990 --> 00:04:51,080 sin embargo, en este caso 105 00:04:51,080 --> 00:04:52,610 como hemos alineado 106 00:04:52,610 --> 00:04:53,670 los vértices 107 00:04:53,670 --> 00:04:55,920 sí que mantenemos las 108 00:04:55,920 --> 00:04:59,810 tangentes continuas, evidentemente. Si a alguién le diera por mover el vértice d2 o d4 109 00:04:59,810 --> 00:05:03,620 nos haría perder esta propiedad, pero 110 00:05:03,620 --> 00:05:07,659 podemos utilizar esto para trazar de manera correcta circunferencias de splines 111 00:05:07,659 --> 00:05:10,729 eso tenerlo en cuenta, no solamente como ejemplo, si no cuando veamos superfices de la evolución ?? 112 00:05:10,729 --> 00:05:15,529 las circunferencias van a tener un papel fundamental, como os podéis imaginar. 113 00:05:15,529 --> 00:05:20,940 y acabamos el módulo con una pequeña digresión, que considero que es interesante 114 00:05:21,469 --> 00:05:24,389 si recordáis, la palabra spline 115 00:05:24,389 --> 00:05:26,570 corresponde al castellano junquillo 116 00:05:26,570 --> 00:05:33,020 es decir, a la pieza de de goma o de madera flexible 117 00:05:33,340 --> 00:05:36,780 que utilizábamos para trazar curvas de manera análogica 118 00:05:37,800 --> 00:05:40,939 ¿por qué utilizamos la palabra spline aparte de por la analogía 119 00:05:40,939 --> 00:05:43,420 para este tipo de funciones? 120 00:05:44,499 --> 00:05:49,940 en la energía de una pieza elástica, como puede ser un junquillo 121 00:05:50,199 --> 00:05:51,920 se puede definir 122 00:05:51,920 --> 00:05:54,400 como una integral en 123 00:05:54,400 --> 00:05:55,750 la longitud del junquillo 124 00:05:55,750 --> 00:05:57,879 del cuadrado de su curvatura 125 00:05:57,879 --> 00:05:59,770 en el fondo es la aceleración 126 00:05:59,770 --> 00:06:01,050 el módulo de la aceleración 127 00:06:01,050 --> 00:06:04,790 al cuadrado, de la curva en la parametrización 128 00:06:04,790 --> 00:06:06,569 por longitud de arco 129 00:06:06,560 --> 00:06:12,119 esta posición del junquillo 130 00:06:12,119 --> 00:06:16,189 sería la posición que miniza este tipo de energía, conseguir los mínimos 131 00:06:16,189 --> 00:06:17,379 de esta expresión es 132 00:06:17,379 --> 00:06:18,869 bastante complicado 133 00:06:18,869 --> 00:06:20,710 y podíamos probar 134 00:06:20,710 --> 00:06:22,009 con una versión 135 00:06:22,009 --> 00:06:25,969 más lineal de esta expresión,en vez de trabajar con la parametrización por 136 00:06:25,969 --> 00:06:26,599 longitud de arco 137 00:06:26,599 --> 00:06:29,709 podemos trabajar con la parametrización que hemos utilizado, con la parametrización 138 00:06:29,709 --> 00:06:33,999 polinómica a trozos 139 00:06:33,999 --> 00:06:38,290 calculamos el mínimo de esta 140 00:06:38,290 --> 00:06:39,699 de esta energía 141 00:06:39,699 --> 00:06:41,259 linealizada 142 00:06:41,259 --> 00:06:42,490 se puede ver 143 00:06:42,490 --> 00:06:44,689 que es un estado que se llama teorema de Faraday 144 00:06:44,689 --> 00:06:47,469 que el spline cúbico de clase C 2 145 00:06:47,469 --> 00:06:51,960 es precisamente el que minimiza esta versión lineal 146 00:06:51,960 --> 00:06:53,150 de la energía 147 00:06:53,150 --> 00:06:54,759 con lo cual 148 00:06:56,020 --> 00:06:58,309 las funciones splines, no solamente 149 00:06:58,309 --> 00:07:00,610 es por la analogía con el junquillo antiguo 150 00:07:00,610 --> 00:07:01,520 sino, que realmente 151 00:07:01,520 --> 00:07:03,090 cumplen propiedades parecidas 152 00:07:03,090 --> 00:07:05,229 a la que cumple el junquillo físico 153 00:07:05,229 --> 00:07:10,589 propiedades de minimización de una energía