*Gracias a las aclaraciones y aportes de algunos comentarios debo aclarar algunas cosillas:* - En la ecuación del minuto 23:43 cometí un error de edición, la fracción que indica "1/3" debe ser en realidad "3/2" (por algo la constante "threehalfs" es 1.5). - A diferencia de lo que muchos podrían pensar, el algoritmo no lo creo Jhon Carmack, o el equipo de id software (la empresa detrás de Doom y Quake), este algoritmo tiene historia propia que data al año 1986 incluso, de hecho uno de los creadores William Kaham es uno de los científicos detrás de la creación del estándar IEEE754, asi que tiene sentido de donde salió ese conocimiento tan profundo de las unidades de memoria, el algoritmo paso por muchas manos (Gary Tarolli, una de ellos), siendo refinada en el camino hasta que de alguna forma llego a Quake, si quieren mas detalles de la autoría la wikipedia en ingles esta bien detallada. Es probable que la razon del porque se perdió el origen de quien o como se calculo el número mágico, sea debido al largo camino que siguió, pero bueno esto último nomas es hipótesis mía. - En el minuto 6:28, digo que se se ha reducido a la mitad los números enteros que se pueden representar, pero de hecho se han reducido aún mucho más, piénsenlo, cuando teníamos 32 bits, podíamos representar 2^32 números, con 16, se pueden representar 2^16, si restamos (2^32 - 2^16), se pierden 4,294,901,760 valores, aún mayor razón para utilizar el estándar IEEE754, una arquitectura bastante ingeniosa por cierto. - Como muchos apuntaron, en 11:29, la razón de utilizar logaritmos es muy probablemente que estos permiten simplificar la operación de números muy grandes (o muy pequeños), también probablemente sea por lo fácil que se convierte la inversa de la raiz cuadrada cuando le sacas logaritmo a ambos lados de la ecuación, chequense 13:13, se observa que la relación ahora entre salida y entrada (operadas con logaritmo) es lineal, por lo que se ha eliminado la operación raíz de la ecuación. -8:13 En este minuto me olvide cambiar los bits xd, 126 es 1111110, eso es lo que deberia estar puesto en la unidad de memoria. (Ire actualizando según vea mas aportes jsjs, gracias a todos por sus comentarios 🥸)
Muchas gracias por el dato. Sorprendente lo que puede hacer un fragmento de código. Unos genios los creadores y si en un futuro pudieras hacer o editar el video, sería genial. Excelente investigación 👍💯
me ah encantado tu explicación de como se guarda la información en la memoria de un pc, pensar que incluso hoy usando 64bits, el guardado de información en la ram a la hora de programar funciona de una forma muy parecida a como vos explicas acá. es una explicación bien técnica a nivel programación.
@@Comomevoyapasarlavida Nomas son slides de PowerPoint xd, lo que pasa que en general los programas de offfice tienen como una herramienta donde puedes escribir ecuaciones y la verdad quedan bien chéveres visualmente.
alguna vez en la universidad me mostraron ese código, pero el maestro no lo supo explicar y justo dijo que era magia jaja, mucho tiempo lo quise investigar pero no encontraba el código y ahora lo encuentro con todo y respuesta, muchas gracias, excelente video!
Dato curioso: Este código es el que me llevó a estudiar Ingenieria Informática, y expresa el fundamento del porqué estudias matemáticas en Ingenieria. Me cansé de escuchar sobre "no usamos matematicas y lo poco que usamos lo sacamos de google". Este tipo de soluciones y entendimiento es el que sobresale al resto, y me encanta. Personalmente, para esta solución, tuve que cursar 2 materias por separado para entenderla, y es sencillamente increible.
@@erickandrade154 Personalmente los contenidos de estos temas están en las materias obligatorias del plan de estudio de mi carrera (el analisis binario se ve en Estructura del computador o cualquier materia semejante, la resolución e iteración de gauss se ve en numeracion numerica/analisis numerico), pero adicionalmente, cursé cosas muy intereesantes como optimizacion de modelos y analisis matematico 3
@@jinz4246 Puede ser cierto, como es cierto el nivel de software que se entrega en el dia de hoy y es vidente con el lanzamiento de videojuegos de estos últimos 2 años exceptuando algún caso particular. ¿Puedes ir al wolframalpha y solucionarlo? Por supuesto, pero si tienes que resolver una integral, lo primero que harías seria buscar una libreria que solucione y no sea costosa, cuando con conocimientos de una carrera de grado, puedes utilizar coeficientes de gauss y lograr una solución con un margen de error ínfima. Saber esto te separa del resto, sí, es overkill para alguna gente, innecesario, y es entendible, pero les puedo asegurar que impacta.
Felicidades normalmente este tipo de contenido de alta calidad no hay en espanol, por eso siempre termino viendo contenido en ingles pero que agradable tenerlo en espanol es mucho mas fácil de comprender.
Eu não falo espanhol, mas pude compreender facilmente sua fala. Muito obrigado, foi realmente interessante! Por muitos anos tentei entender o que era este código! Obrigado
Esto es símplemente una genialidad. Ahora estamos tan acostumbrados a tener potencia computacional ilimitada y no nos sentamos a pensar cómo se puede mejorar un proceso que funciona "bien". Las librerías, motores, frameworks que hay por la web facilitan tanto el trabajo que la mayor preocupación de uno es la compatibilidad de versiones. No estoy en contra de los avances realizados, pero no se debería dejar de lado el ingenio humano y lo realmente divertido que puede ser crear algo desde cero.
Para mí no es así. Los que diseñan juegos puede que ya no se ocupen de temas que son responsabilidad del motor, pero la programación de software sigue creando desafíos y soluciones interesantes.
FAA hace un tiempo ví un reel que hablaba justamente de eso y la mayoría de los comentarios era "no trates de reinventar la rueda" la verdad el mundo del desarrollo web es usar lo que funcione para evitar trabajo extra.
mmmm la ley universal de la programacion, es , si funciona no lo toques, cuando se cree algo nuevo se mejora, pero si ya funciona bien y el redimiento no esta afectando a nada ps quedo asi, puede que por andar toqueteando te lo tires y y el control z no funcione y ahi cagaste 🤣, toca pedirle ayuda al dios git que te salve, o si manejas un historial local
Así no es como funciona el mundo real. La prueba es este mismo video, sobre un algoritmo del 1986 que se sigue reutilizando aunque la mayoría no puede explicar exactamente porque está hecho así. Los que te pagan el sueldo no van a estar interesados en tu propuesta de optimizar un microsegundo si eso implica que trabajes meses o años 😐
@@eljabon3164 esa lógica funciona para el 90% de casos trabajo de oficina o desarrollo en consultoría, para trabajo de investigación, creación de modelos matemáticos y desarrollo computacional el ingenio humano y unas bases sólidas en matemáticas son irremplazables, todos las nuevas tecnologías se basan en algoritmos nuevos y complejos el detalle es que muy pocas instituciones brindan enseñanza a ese nivel y con esa orientación por eso el 90% de ingenieros especialmente en Latinoamérica saben usar todo pero crear nada.
Muy buena calidad de video! Como aporte sobre porque se uso logaritmos, es por la propiedad que permite "convertir" multiplicaciones en sumas por la propiedad log(ab) = log(a) + log(b), la ventaja de esto es que al hacer multiplicaciones entre números muy grandes o muy chicos, se puede complicar los cálculos computacionales debido a la matemática de punto flotante de la computadora, con este logaritmo reducimos este efecto indeseado de las multiplicaciones. Por ejemplo tenemos la operación: 0.0005 * 0.0002 = 0.0000001 = 1e-7 Este número resultante ya es problemático, y si lo multiplicamos N veces se va a hacer más y más problemático. Ahora si lo comparamos con el logaritmo: Log2(0.0005 * 0.0002) = Log2(0.0005) + Log2(0.0002) =(Aprox) -10.965 -12.287 =(aprox) -23.253 Se puede ver que las operaciones son más manejables, ya que los números muy chicos o muy grandes se transforman en números con mantisas más manejables. Ultimo ejemplo: Log2(1e20) = 66.438 (aprox) Log2(1e-20) = -66.438 (aprox)
Excelente vídeo. Lo explicaste de una manera extremadamente fácil de entender, muchas gracias. Los “vectores normalizados” también son llamados “Vectores Unitarios”.
El poder de las matemáticas en su máxima expresión. Quede igual de asombrado cuando me enseñaron a resolver en Estatica sistemas de ecuaciones con algebra lineal, toda la prepa pense que eran para cosas diferentes. La de trabajo que me ahorraron en la universidad. Y luego quede mas estupefacto cuando descubri que los algoritmos transformers para las I.As en esencia se manejan con algebra lineal. Realmente el poder del computo viene mas del estudio matemático que de las mejoras del hardware.
Muy bien realizado el video. Una clase muy interesante y bien explicada. Es extraño que tengas tan pocos suscriptores con el nivel de calidad que he visto en este video. Muy bien hecho.
Fua... De verdad no me esperaba este nivel de calidad. Hermano, eres muy bueno explicando y el tema es muy interesante, especialmente la parte matemática. Como estudiante de matemáticas puras, apruebo este video.
Quedo impresionado, viendo este video llego a la conclusión de que los programadores de antes, no solo sabían de programación sino que también eran matemáticos y hasta físicos, osea que eran versados en más de una materia.
En la programación siempre se ha utilizado matemáticas, pues ya que todo se rige a base de 0 y 1. Pero eso sí, sin duda los programadores antiguos con sus códigos y sus ingenios le han facilitado demasiado el trabajo a los actuales, y más mérito por la época y métodos que tenían que emplear.
el limitante de memoria ram y recursos te obligaba a crear tus propios algoritmos que fueran mucho mas optimoa y efectivos en su tarea. hoy en dia al tener muchos mas recursos se programa cada vez de peor forma.
Mucha más optimización que requiere tiempo e ingenio para hacer que se puedan ejecutar en componentes que normalmente no harían la tarea correctamente y/o a tiempo. Muy bueno eso y ojalá hagan más optimización en los juegos actuales que piden y piden cada vez más requisitos. Será que usarán la IA para ayudar con esas optimizaciones?
Antes no existían Unreal engine o Unity. Muchos estudios debían comenzar con su propio motor gráfico desde cero, y los juegos eran hechos por ingenieros, programadores y científicos computacionales. No por "diseñadores de juegos"... Es más, hoy día es MUY sencillo hacer videojuegos y la calidad está cada vez peor. Pesan más y más gigabytes y tienen menos y menos contenido.
Soy estudiante de electrónica, este fue uno de esos temas que vi y me gusto, sufri un poco porque lo vi en mis primeros semestres pero igual gustó. Veo que lo explicas muy bien, me gusta demasiado los canales que se atreven a explorar la matematica de los problemas, increible aproximacion y muy buen video, gracias 👏
El Sr. Tarolli pensando cuando le preguntaron sobre el número: "Y ahora como les explico que lo ví en un sueño" XD Gran video, es interesante ver los trucos que hacen los genios, nunca el algebra había sido tan interesante 👍
Sos una joya, me gusta la progrmacion (soy analista en sistemas) pero tambien mas me gustan las matematicas y ver tu explicación con esta edicion tan cuidada, tanta información hecha digerible. Hay tantas horas detras de estos 25 minutos de video, no solo de ediciom sino de aprender las matematicas que estan detras y los aspectos del lenguaje C. Tanto amor. Me alegra muchísimo poder conocer tu canal!
Buenísimo el contenido de este video. No he visto más videos de tu canal, pero si de esto se tratará tu canal, te deseo todo el éxito del mundo para que logres pronto contratar editores y guionistas que te permitan mejorar la calidad de tus videos. En ese punto tu canal explotará
Soy estudiante de ingeniería de sistemas, que conocimiento tan profundo de las matemáticas para un videojuego y pensar que en esta carrera se suele escuchar que las matemáticas son "relleno". Gracias por tomarte el tiempo de explicar tan maravilloso algoritmo.
Ese "numero magico" es la direccion en memoria de una variable que la quiso almacenar como una constante. Lo mismo hace con la variable x ya que tambien obtiene su direccion en memoria con el keyword '&'.
Eres buenísimo explicando, gente como tú deberían ser profesores de ingeniería. Luego te encuentras doctores y docentes con muchos posgrados y explican como somnífero. 100/10
11:29 Supongo que es para aprovechar las propiedades del logarítmo para simplificar la ecuación. Ese truquito lo solía usar en la licenciatura para simplificar la obtención de derivadas de funciones que contenían multiplicaciones, divisiones y potencias algo chocantes.
Esperaba un video ligero, gracioso y ligeramente informativo; terminé repasando software de sistemas, algebra lineal y cálculo, y feliz. Sí se sintió como cátedra, pero fue una buena catedra. Buen video
amigo que pedazo de video, muy interesante, muy didáctico y divulgativo, me has generado mucha curiosidad en investigar más sobre como se guardan los punto flotante en memoria y el método de newton, más contenido como el tuyo!!!
hermano ! que vídeo tan majestuoso y sublime. es un deleite, sigue sacando vídeos así por favor ( amo la programación ). si puedes haz llegar este vídeo al canal Derivando, tal vez de con el origen de el número hex ( "mágico" )
muy buen video! se que John Carmack hizo muchas artes magicas más con otras entregas por ejemplo el desplazamiento horizontal en tiempo real en Commander Keen es digno de un video pues con esa ingeniería Id Software le propuso a Nintendo en que pudieran crear una entrega de super Mario Bros en PC, pero los nipones terminaron rechazando esa oferta.
El algorirmo me recuerda a los trucos que hacían con las calculadoras mecánicas. Alguien que la supiera usar muy bien podía sacar la raíz-n de un número con un aparato que apenas sumaba, restaba y multiplicaba.
Excelente explicación! No soy programador, pero últimamente me han interesado temas de computación y hace unos meses que he estado buscando entender este algoritmo. Me has resuelto muchas dudas. Saludos.
Este video me hizo recordar lo magníficos que somos los seres humanos cuando queremos hacer algo bien, eres muy inteligente te felicito excelente video! 🤯
Y que es precisamente lo que hacen los motores por eso es lindo aprender a programar, porque aprender es saber Programar, Analizar, y saber que hace como por ejemplo el famoso Normalize() detrás, la Programación no es escribir código, es más que eso. Ya entendiendo los conceptos y bases te permite crear el propio código y resolver otros problemas a futuro con esos Conocimientos o mejor aún aprender a crear tu propio Framework o Game Engine para que los Desarrolladores lo utilicen. Por eso siempre digo que los Frameworks y Engines no son de Programación, sino que son de Desarrollo, y confunden Desarrollar con Programar, son 2 lados distintos dentro de la Ing. de Software y Analista de Sistemas. 🤠
Excelente video!!! Me hiciste recordar que tengo darle una repasada todo esto en matemáticas y todo eso, mi cerebro está todo podrido por falta de práctica.
el video me apareció por casualidad, lo comencé a ver con un poco de escepticismo, pero al final me fui con algo nuevo aprendido, muchas gracias por la explicación!
La verdad no entendí ni un poquito de nada, pero estoy seguro que con dos o tres repasadas más entendería algo sjjsjs, igual excelente video, me encantó el ritmo, la narración, se nota el trabajo respecto a la edición del vídeo, y ya, 10/10, no entendí pero me encanto
los logaritmos son una transformación, convierte un producto en suma y una división en resta. Destaco tu didactica para este tema, deberías considerar ello como tu aporte a través de artículos o libros especializados.
Recien descubro tu canal, creo q lo tuyo es la explicación de codigo, tal como este tema, deben existir muchas historias de programación por descubrir, saludos
también me recordaste los temás de métodos númericos como el de newton, bisección y regali falsi modificado, la cual todo estas herramientas tienen sentido en esta implementación! valla genialidad que buenos tiempos cuando era joven
ALA MRD que op, ame la explicacion. Literal esto era lo que los profesores me enseñaran me debieron enseñar. Odié los cursos de numeros en donde no sabia por qué usaba una cosa o la otra. Pero tu lo explicaste perfecto. Gracias!
Vaya tenia mucho tiempo sin ver un video que pusiera mi mente a funcionar a tope :D Excelente video, y buenas explicaciones, aunque hubo una pequeña pifiada en el camino. Pero excelente explicacion.
no entendi nada pero gracias, por favor sigue subiendo y explicando este tipo de problematicas y planteos, usare tu canal como base para estudiar cuando tenga la oportunidad de hacer la ingeniería
Qué excelente trabajo! Leí también las notas de las erratas. Celebro mucho que hagas esa actualización para mantener el contenido lo más exacto posible. Agrego una: cuando decís "debe ser mayor a 1 y menor a 2" no debería ser "mayor o igual a 1"? (Respecto al límite en 2, no sé si incluye o no incluye). Excelente trabajo y muchas gracias!
Supongo que el uso de logaritmos que no encontrastes explicación es para darle mayor velocidad de operación a números muy grandes, ya que, por ejemplo no es lo mismo operar n1=3.44*10^50 - 1.76*10^50, para la máquina serian muchos 0 y 1, pero al llevarlo al nivel logaritmico, seria log(n1) = 50.536 - 50.245, y esto es más fácil de operar miles de veces, ya que, estan en bucle todo el tiempo.
Lito con todo lo que aprendí y lo que ni idea se hacer, me voy a aventar mi juego, con permiso que voy a robarme el código XD Edit: Nuevo sub btw, excelente video
No conocía este algoritmo y cada vez quedo más impactado de los trucos matemáticos que definen la verdadera ingeniería detrás de un videojuego con un buen rendimiento. Este tipo de algoritmos no sólo son mágicos, son una verdadera genialidad de la humanidad, así como muchos otros que nos han dado las benditas matemágicas En verdad, qué locura
Excelente video hermano, se necesita mucho mas contenido así en español Que se animen a contar cosas un poco mas complicadas de lo normal sin miedo a que sea un vídeo aburrido, todo lo contrario me quede pegado a la pantalla hasta el final Lo que mas me impresiono es que con solo una iteración del metodo de newton ya se lograba conseguir un buen resultado, me gustaria ver la diferencia del renderizado entre tener solo una iteracion o agregar la 2da que estaba comentada En fin, sigue asi hermano! ❤
Yo soy programador empirico, por que estudie otra ingenieria. Pero este video me motiva mas a estudiar el CS en la universidad por lo interesante que es la algoritmia y la "magia" detras de la programacion. muy bonito video
*Gracias a las aclaraciones y aportes de algunos comentarios debo aclarar algunas cosillas:*
- En la ecuación del minuto 23:43 cometí un error de edición, la fracción que indica "1/3" debe ser en realidad "3/2" (por algo la constante "threehalfs" es 1.5).
- A diferencia de lo que muchos podrían pensar, el algoritmo no lo creo Jhon Carmack, o el equipo de id software (la empresa detrás de Doom y Quake), este algoritmo tiene historia propia que data al año 1986 incluso, de hecho uno de los creadores William Kaham es uno de los científicos detrás de la creación del estándar IEEE754, asi que tiene sentido de donde salió ese conocimiento tan profundo de las unidades de memoria, el algoritmo paso por muchas manos (Gary Tarolli, una de ellos), siendo refinada en el camino hasta que de alguna forma llego a Quake, si quieren mas detalles de la autoría la wikipedia en ingles esta bien detallada. Es probable que la razon del porque se perdió el origen de quien o como se calculo el número mágico, sea debido al largo camino que siguió, pero bueno esto último nomas es hipótesis mía.
- En el minuto 6:28, digo que se se ha reducido a la mitad los números enteros que se pueden representar, pero de hecho se han reducido aún mucho más, piénsenlo, cuando teníamos 32 bits, podíamos representar 2^32 números, con 16, se pueden representar 2^16, si restamos (2^32 - 2^16), se pierden 4,294,901,760 valores, aún mayor razón para utilizar el estándar IEEE754, una arquitectura bastante ingeniosa por cierto.
- Como muchos apuntaron, en 11:29, la razón de utilizar logaritmos es muy probablemente que estos permiten simplificar la operación de números muy grandes (o muy pequeños), también probablemente sea por lo fácil que se convierte la inversa de la raiz cuadrada cuando le sacas logaritmo a ambos lados de la ecuación, chequense 13:13, se observa que la relación ahora entre salida y entrada (operadas con logaritmo) es lineal, por lo que se ha eliminado la operación raíz de la ecuación.
-8:13 En este minuto me olvide cambiar los bits xd, 126 es 1111110, eso es lo que deberia estar puesto en la unidad de memoria.
(Ire actualizando según vea mas aportes jsjs, gracias a todos por sus comentarios 🥸)
Muchas gracias por el dato. Sorprendente lo que puede hacer un fragmento de código. Unos genios los creadores y si en un futuro pudieras hacer o editar el video, sería genial. Excelente investigación 👍💯
me ah encantado tu explicación de como se guarda la información en la memoria de un pc, pensar que incluso hoy usando 64bits, el guardado de información en la ram a la hora de programar funciona de una forma muy parecida a como vos explicas acá. es una explicación bien técnica a nivel programación.
Bro como editas para que se vea como látex?
@@Comomevoyapasarlavida Nomas son slides de PowerPoint xd, lo que pasa que en general los programas de offfice tienen como una herramienta donde puedes escribir ecuaciones y la verdad quedan bien chéveres visualmente.
en el 8:12 también te equivocas al expresar el 126 en binario
alguna vez en la universidad me mostraron ese código, pero el maestro no lo supo explicar y justo dijo que era magia jaja, mucho tiempo lo quise investigar pero no encontraba el código y ahora lo encuentro con todo y respuesta, muchas gracias, excelente video!
Al final si era magia jsjsjs
@@alexvaldelamarbustamante3835 jajaja
mentiroso 😂
Vaya invent...un profesor de universidad jamás daría esa respuesta.
Vine esperando encontrar un algoritmo curioso y terminé con una clase repaso de aritmética de computadoras, programación en C y analisis matemático 🤓
Dato curioso: Este código es el que me llevó a estudiar Ingenieria Informática, y expresa el fundamento del porqué estudias matemáticas en Ingenieria. Me cansé de escuchar sobre "no usamos matematicas y lo poco que usamos lo sacamos de google".
Este tipo de soluciones y entendimiento es el que sobresale al resto, y me encanta. Personalmente, para esta solución, tuve que cursar 2 materias por separado para entenderla, y es sencillamente increible.
Es obvio la base de ingeniería es la matemática
Que tipo de materias adicionalmente tomaste?
Eso lo dicen solo por algunos tipos de codigo como este, que raramente se usa.
@@erickandrade154 Personalmente los contenidos de estos temas están en las materias obligatorias del plan de estudio de mi carrera (el analisis binario se ve en Estructura del computador o cualquier materia semejante, la resolución e iteración de gauss se ve en numeracion numerica/analisis numerico), pero adicionalmente, cursé cosas muy intereesantes como optimizacion de modelos y analisis matematico 3
@@jinz4246 Puede ser cierto, como es cierto el nivel de software que se entrega en el dia de hoy y es vidente con el lanzamiento de videojuegos de estos últimos 2 años exceptuando algún caso particular. ¿Puedes ir al wolframalpha y solucionarlo? Por supuesto, pero si tienes que resolver una integral, lo primero que harías seria buscar una libreria que solucione y no sea costosa, cuando con conocimientos de una carrera de grado, puedes utilizar coeficientes de gauss y lograr una solución con un margen de error ínfima.
Saber esto te separa del resto, sí, es overkill para alguna gente, innecesario, y es entendible, pero les puedo asegurar que impacta.
Felicidades normalmente este tipo de contenido de alta calidad no hay en espanol, por eso siempre termino viendo contenido en ingles pero que agradable tenerlo en espanol es mucho mas fácil de comprender.
Eu não falo espanhol, mas pude compreender facilmente sua fala. Muito obrigado, foi realmente interessante! Por muitos anos tentei entender o que era este código! Obrigado
Una joya cuando encuentras videos que explican matemáticas con videojuegos/programación. Muchas gracias
Esto es símplemente una genialidad. Ahora estamos tan acostumbrados a tener potencia computacional ilimitada y no nos sentamos a pensar cómo se puede mejorar un proceso que funciona "bien". Las librerías, motores, frameworks que hay por la web facilitan tanto el trabajo que la mayor preocupación de uno es la compatibilidad de versiones. No estoy en contra de los avances realizados, pero no se debería dejar de lado el ingenio humano y lo realmente divertido que puede ser crear algo desde cero.
Para mí no es así. Los que diseñan juegos puede que ya no se ocupen de temas que son responsabilidad del motor, pero la programación de software sigue creando desafíos y soluciones interesantes.
FAA hace un tiempo ví un reel que hablaba justamente de eso y la mayoría de los comentarios era "no trates de reinventar la rueda" la verdad el mundo del desarrollo web es usar lo que funcione para evitar trabajo extra.
mmmm la ley universal de la programacion, es , si funciona no lo toques, cuando se cree algo nuevo se mejora, pero si ya funciona bien y el redimiento no esta afectando a nada ps quedo asi, puede que por andar toqueteando te lo tires y y el control z no funcione y ahi cagaste 🤣, toca pedirle ayuda al dios git que te salve, o si manejas un historial local
Así no es como funciona el mundo real. La prueba es este mismo video, sobre un algoritmo del 1986 que se sigue reutilizando aunque la mayoría no puede explicar exactamente porque está hecho así. Los que te pagan el sueldo no van a estar interesados en tu propuesta de optimizar un microsegundo si eso implica que trabajes meses o años 😐
@@eljabon3164 esa lógica funciona para el 90% de casos trabajo de oficina o desarrollo en consultoría, para trabajo de investigación, creación de modelos matemáticos y desarrollo computacional el ingenio humano y unas bases sólidas en matemáticas son irremplazables, todos las nuevas tecnologías se basan en algoritmos nuevos y complejos el detalle es que muy pocas instituciones brindan enseñanza a ese nivel y con esa orientación por eso el 90% de ingenieros especialmente en Latinoamérica saben usar todo pero crear nada.
Muy buena calidad de video! Como aporte sobre porque se uso logaritmos, es por la propiedad que permite "convertir" multiplicaciones en sumas por la propiedad log(ab) = log(a) + log(b), la ventaja de esto es que al hacer multiplicaciones entre números muy grandes o muy chicos, se puede complicar los cálculos computacionales debido a la matemática de punto flotante de la computadora, con este logaritmo reducimos este efecto indeseado de las multiplicaciones.
Por ejemplo tenemos la operación:
0.0005 * 0.0002 = 0.0000001 = 1e-7
Este número resultante ya es problemático, y si lo multiplicamos N veces se va a hacer más y más problemático. Ahora si lo comparamos con el logaritmo:
Log2(0.0005 * 0.0002) = Log2(0.0005) + Log2(0.0002) =(Aprox) -10.965 -12.287 =(aprox) -23.253
Se puede ver que las operaciones son más manejables, ya que los números muy chicos o muy grandes se transforman en números con mantisas más manejables. Ultimo ejemplo:
Log2(1e20) = 66.438 (aprox)
Log2(1e-20) = -66.438 (aprox)
wao, tienes razón, no lo había pensado así. Buen aporte.
Este debe ir como comentario destacado.
Un tema que ya ha sido explicado desde hace varios años y hay varios videos en YT. Pero es el primero que veo en español y eso se agradece. Saludos.
Excelente vídeo.
Lo explicaste de una manera extremadamente fácil de entender, muchas gracias.
Los “vectores normalizados” también son llamados “Vectores Unitarios”.
El poder de las matemáticas en su máxima expresión.
Quede igual de asombrado cuando me enseñaron a resolver en Estatica sistemas de ecuaciones con algebra lineal, toda la prepa pense que eran para cosas diferentes. La de trabajo que me ahorraron en la universidad.
Y luego quede mas estupefacto cuando descubri que los algoritmos transformers para las I.As en esencia se manejan con algebra lineal.
Realmente el poder del computo viene mas del estudio matemático que de las mejoras del hardware.
Muy bien realizado el video. Una clase muy interesante y bien explicada. Es extraño que tengas tan pocos suscriptores con el nivel de calidad que he visto en este video. Muy bien hecho.
Fua... De verdad no me esperaba este nivel de calidad.
Hermano, eres muy bueno explicando y el tema es muy interesante, especialmente la parte matemática. Como estudiante de matemáticas puras, apruebo este video.
Quedo impresionado, viendo este video llego a la conclusión de que los programadores de antes, no solo sabían de programación sino que también eran matemáticos y hasta físicos, osea que eran versados en más de una materia.
En la programación siempre se ha utilizado matemáticas, pues ya que todo se rige a base de 0 y 1. Pero eso sí, sin duda los programadores antiguos con sus códigos y sus ingenios le han facilitado demasiado el trabajo a los actuales, y más mérito por la época y métodos que tenían que emplear.
el limitante de memoria ram y recursos te obligaba a crear tus propios algoritmos que fueran mucho mas optimoa y efectivos en su tarea. hoy en dia al tener muchos mas recursos se programa cada vez de peor forma.
Mucha más optimización que requiere tiempo e ingenio para hacer que se puedan ejecutar en componentes que normalmente no harían la tarea correctamente y/o a tiempo. Muy bueno eso y ojalá hagan más optimización en los juegos actuales que piden y piden cada vez más requisitos. Será que usarán la IA para ayudar con esas optimizaciones?
Mejor dicho, los primeros programadores eran matemáticos y físicos que programaban...
Antes no existían Unreal engine o Unity. Muchos estudios debían comenzar con su propio motor gráfico desde cero, y los juegos eran hechos por ingenieros, programadores y científicos computacionales. No por "diseñadores de juegos"...
Es más, hoy día es MUY sencillo hacer videojuegos y la calidad está cada vez peor. Pesan más y más gigabytes y tienen menos y menos contenido.
Soy estudiante de electrónica, este fue uno de esos temas que vi y me gusto, sufri un poco porque lo vi en mis primeros semestres pero igual gustó.
Veo que lo explicas muy bien, me gusta demasiado los canales que se atreven a explorar la matematica de los problemas, increible aproximacion y muy buen video, gracias 👏
El Sr. Tarolli pensando cuando le preguntaron sobre el número: "Y ahora como les explico que lo ví en un sueño" XD
Gran video, es interesante ver los trucos que hacen los genios, nunca el algebra había sido tan interesante 👍
Lo sacó de Google
Sos una joya, me gusta la progrmacion (soy analista en sistemas) pero tambien mas me gustan las matematicas y ver tu explicación con esta edicion tan cuidada, tanta información hecha digerible. Hay tantas horas detras de estos 25 minutos de video, no solo de ediciom sino de aprender las matematicas que estan detras y los aspectos del lenguaje C. Tanto amor. Me alegra muchísimo poder conocer tu canal!
Que locura de vídeo!! está muy bien explicado, sigue así
Que buen video, me encanto este enfoque de programación tan "elemental". Sin duda unos genios los que programaron este motor.
Buenísimo el contenido de este video. No he visto más videos de tu canal, pero si de esto se tratará tu canal, te deseo todo el éxito del mundo para que logres pronto contratar editores y guionistas que te permitan mejorar la calidad de tus videos. En ese punto tu canal explotará
La verdad es q lo has explicado muy bien y de forma muy asequible para quienes no sepan de programación y matemáticas.
Soy estudiante de ingeniería de sistemas, que conocimiento tan profundo de las matemáticas para un videojuego y pensar que en esta carrera se suele escuchar que las matemáticas son "relleno". Gracias por tomarte el tiempo de explicar tan maravilloso algoritmo.
Amigo que BUEN video, soy estudiante de Ingeniería de Sistemas y esto me pareció fascinante
Gracias por traer tan buen contenido a la plataforma!
Y yo que no ponía atención en la escuela pero solo son los maestros que no saben como pasarte esa emoción de aprender.
Increible video bro ❤
Ese "numero magico" es la direccion en memoria de una variable que la quiso almacenar como una constante. Lo mismo hace con la variable x ya que tambien obtiene su direccion en memoria con el keyword '&'.
Guau bro, que excelente nivel de video. Eres un crack. Tienes un nuevo subscriptor. Por favor sigue sacando videos así 👍🏼👍🏼👍🏼
Gracias, si, estoy pensando en sacar mas algoritmos interesantes de videojuegos.
Eres buenísimo explicando, gente como tú deberían ser profesores de ingeniería. Luego te encuentras doctores y docentes con muchos posgrados y explican como somnífero. 100/10
11:29 Supongo que es para aprovechar las propiedades del logarítmo para simplificar la ecuación.
Ese truquito lo solía usar en la licenciatura para simplificar la obtención de derivadas de funciones que contenían multiplicaciones, divisiones y potencias algo chocantes.
Clase maestra para una solución genial del programador. Mis respetos a ambos. Saludos y gracias por el contenido. Nuevo suscriptor aqui.
Esperaba un video ligero, gracioso y ligeramente informativo; terminé repasando software de sistemas, algebra lineal y cálculo, y feliz. Sí se sintió como cátedra, pero fue una buena catedra. Buen video
amigo que pedazo de video, muy interesante, muy didáctico y divulgativo, me has generado mucha curiosidad en investigar más sobre como se guardan los punto flotante en memoria y el método de newton, más contenido como el tuyo!!!
hermano ! que vídeo tan majestuoso y sublime. es un deleite, sigue sacando vídeos así por favor ( amo la programación ). si puedes haz llegar este vídeo al canal Derivando, tal vez de con el origen de el número hex ( "mágico" )
Esta super, gracias por la explicación y en definitiva en programación hay genios muy loco
Asi es, debían serlo si querían hacer funcionar esos juegazos en las chatarras de la época xd.
muy buen video, finalmente lo entendí, recuerdo haber visto un video en ingles acerca de este código, este video fue mucho mejor!
muy buen video! se que John Carmack hizo muchas artes magicas más con otras entregas por ejemplo el desplazamiento horizontal en tiempo real en Commander Keen es digno de un video pues con esa ingeniería Id Software le propuso a Nintendo en que pudieran crear una entrega de super Mario Bros en PC, pero los nipones terminaron rechazando esa oferta.
Interesante 🤔, lo tendré en cuenta.
De los mejores videos de RUclips que ví últimamente
Nuevo sub, esta muy bueno el contenido, me gustaría seguir viendo más videos como este 👍
El algorirmo me recuerda a los trucos que hacían con las calculadoras mecánicas. Alguien que la supiera usar muy bien podía sacar la raíz-n de un número con un aparato que apenas sumaba, restaba y multiplicaba.
Descubrí tu canal hoy, que genial el vídeo a pesar de entender quizás solamente un 50% de la explicación pero parece ser muy ingenioso
Excelente explicación! No soy programador, pero últimamente me han interesado temas de computación y hace unos meses que he estado buscando entender este algoritmo. Me has resuelto muchas dudas. Saludos.
Metele para estudiar una carrera de informatica.
Una forma más que elegante de resolver un problema y que además le da la vuelta al uso de ensamblador para aumentar velocidad del proceso.
Este video me hizo recordar lo magníficos que somos los seres humanos cuando queremos hacer algo bien, eres muy inteligente te felicito excelente video! 🤯
Y que es precisamente lo que hacen los motores por eso es lindo aprender a programar, porque aprender es saber Programar, Analizar, y saber que hace como por ejemplo el famoso Normalize() detrás, la Programación no es escribir código, es más que eso. Ya entendiendo los conceptos y bases te permite crear el propio código y resolver otros problemas a futuro con esos Conocimientos o mejor aún aprender a crear tu propio Framework o Game Engine para que los Desarrolladores lo utilicen. Por eso siempre digo que los Frameworks y Engines no son de Programación, sino que son de Desarrollo, y confunden Desarrollar con Programar, son 2 lados distintos dentro de la Ing. de Software y Analista de Sistemas. 🤠
super video, un concepto que marco un antes y un despues de los videojuegos, y de la computacion grafica
Genial análisis, me encanta la computación gráfica, y la eficiencia de los motores retro. En verdad eran unos genios.
Te felicito hermano, buenísima tu explicación!
Yo estudio ingeniería informática y la conversión de decimal a binario lo vemos en lógica Algorítmica, buen video.
que BELLEZA de video, muchas gracias!!♥
Excelente video!!!
Me hiciste recordar que tengo darle una repasada todo esto en matemáticas y todo eso, mi cerebro está todo podrido por falta de práctica.
@@ghostkiller93 xd, gracias amigo. Pero ps si estan un poquito pesadas las matemáticas jsjs.
Que maravilla de video, espectacular
@@yesidelyesud gracias 😀
Me encantó , sigue haciendo videos así por favor
Un gran video sobre el tema! gracias es muy informativo
el video me apareció por casualidad, lo comencé a ver con un poco de escepticismo, pero al final me fui con algo nuevo aprendido, muchas gracias por la explicación!
Felicitaciones, excelente contenido académico y entretenido
La verdad no entendí ni un poquito de nada, pero estoy seguro que con dos o tres repasadas más entendería algo sjjsjs, igual excelente video, me encantó el ritmo, la narración, se nota el trabajo respecto a la edición del vídeo, y ya, 10/10, no entendí pero me encanto
Muchas gracias, muy interesante desde el punto de vista de la programación y la matemática
Pedazo de video. Es una joya, buena investigacion. Te llevaste mi like
los logaritmos son una transformación, convierte un producto en suma y una división en resta.
Destaco tu didactica para este tema, deberías considerar ello como tu aporte a través de artículos o libros especializados.
Excelente trabajo. Felicidades!!
Gracias por compartir, creas contenido como los grandes!!! te felicito, suscrito!!!
wow gracias por el material, desde todo punto de vista valiosisimo
Te quedó muy bueno el video, sigue así. Me hiciste recordar el estándar IEEE 754 😂
Recien descubro tu canal, creo q lo tuyo es la explicación de codigo, tal como este tema, deben existir muchas historias de programación por descubrir, saludos
Muchas gracias, exelente explicación 👍🏻,estare pendiente de mas videos...😁.
Amigo muchas gracias por este video me has inspirado para retomar la programación
también me recordaste los temás de métodos númericos como el de newton, bisección y regali falsi modificado, la cual todo estas herramientas tienen sentido en esta implementación! valla genialidad que buenos tiempos cuando era joven
gran trabajo, me recordaste temas de cálculo vectorial y cálculo numérico. Suscrito
ALA MRD que op, ame la explicacion. Literal esto era lo que los profesores me enseñaran me debieron enseñar. Odié los cursos de numeros en donde no sabia por qué usaba una cosa o la otra. Pero tu lo explicaste perfecto. Gracias!
Esta muy chido tu canal lo descubri y soy nuevo subscriptor
7:20 me explicaste punto flotante mucho mejor de lo que la uni lo hizo en metodos numericos xd
Vídeo único en RUclips! Por favor más vídeos como este! 🎉
muy buen video amigo, honestamente te la rifaste!!!
Tu vídeo es increíble 😊
QUÉ LOCAZO!!! GRAN VIDEO, BRO!! MIS RESPETOS
Me gustó la explicación. Me he suscrito a tu canal. Un saludo.
Vaya tenia mucho tiempo sin ver un video que pusiera mi mente a funcionar a tope :D Excelente video, y buenas explicaciones, aunque hubo una pequeña pifiada en el camino. Pero excelente explicacion.
Excelente video 👌🏻
no entendi nada pero gracias, por favor sigue subiendo y explicando este tipo de problematicas y planteos, usare tu canal como base para estudiar cuando tenga la oportunidad de hacer la ingeniería
Wow, lograste que no resultará aburrido . La verdad, mis respetos
muy bueno hermano, te felicito!
No entiendo mucho de lenguajes de programacion, pero me gusto ver este video, muchas cositas muy interesantes de ver y aprender.
No sabía que debía ver este video hasta que lo ví. Es simplemente maravilloso
Que buen contenido estimado ❤
que buen video LPTM, no entendí nada pero que buen vídeo, muchas gracias por tu trabajo!!!!
Qué excelente trabajo!
Leí también las notas de las erratas.
Celebro mucho que hagas esa actualización para mantener el contenido lo más exacto posible.
Agrego una: cuando decís "debe ser mayor a 1 y menor a 2" no debería ser "mayor o igual a 1"?
(Respecto al límite en 2, no sé si incluye o no incluye).
Excelente trabajo y muchas gracias!
Muy buen contenido, me gusto mucho.
Supongo que el uso de logaritmos que no encontrastes explicación es para darle mayor velocidad de operación a números muy grandes, ya que, por ejemplo no es lo mismo operar n1=3.44*10^50 - 1.76*10^50, para la máquina serian muchos 0 y 1, pero al llevarlo al nivel logaritmico, seria log(n1) = 50.536 - 50.245, y esto es más fácil de operar miles de veces, ya que, estan en bucle todo el tiempo.
Super bien explicado, agradecido por el vídeo 🦙, un sub mas 😀
Hermano excelente video!
Lito con todo lo que aprendí y lo que ni idea se hacer, me voy a aventar mi juego, con permiso que voy a robarme el código XD
Edit: Nuevo sub btw, excelente video
Realmente entendible.
Sigue haciendo videos estan muy interesantes
Que ingenio tenian los programadores de Quake y tu video es magnifico
No conocía este algoritmo y cada vez quedo más impactado de los trucos matemáticos que definen la verdadera ingeniería detrás de un videojuego con un buen rendimiento. Este tipo de algoritmos no sólo son mágicos, son una verdadera genialidad de la humanidad, así como muchos otros que nos han dado las benditas matemágicas
En verdad, qué locura
Excelente vídeo y explicación.
Visto en 06/08/2024
Excelente video hermano, se necesita mucho mas contenido así en español
Que se animen a contar cosas un poco mas complicadas de lo normal sin miedo a que sea un vídeo aburrido, todo lo contrario me quede pegado a la pantalla hasta el final
Lo que mas me impresiono es que con solo una iteración del metodo de newton ya se lograba conseguir un buen resultado, me gustaria ver la diferencia del renderizado entre tener solo una iteracion o agregar la 2da que estaba comentada
En fin, sigue asi hermano! ❤
Que crack Jonh Carmack,Ojala tuviera la cuarta parte de la inteligencia que tiene este chabon
ay wey, mi mente 🤯 - excelente vídeo mi buen, me llevaste de regreso a la uni.
Yo soy programador empirico, por que estudie otra ingenieria. Pero este video me motiva mas a estudiar el CS en la universidad por lo interesante que es la algoritmia y la "magia" detras de la programacion. muy bonito video
Que excelente video! 🤯💪🏻🤓