Este hilo será renovado cada lunes

you are viewing a single comment's thread
view the rest of the comments
[–] 6 points 2 weeks ago* (last edited 2 weeks ago) (3 children)

Buena semana estimados.

Les dejo un video para comenzar la semana, shimi shama shu shimi shama she.

Y hablare de matemáticasIntente implementar mi propio Vector2 en C# y todo se fue al carajo, al calcular la magnitud o sacar el producto punto puede que el resultado sea cero pero float/double al ser imprecisos dan 10^(-20) de resultado y ahí tienes que hacer un delta para poder comparar con cero y cosas feas de ese estilo; creo que podría hacer una implementación de los racionales y las raíces para que sea matemáticamente correcto, onda manejar con matemática simbólica esos casos y solo calcular la aproximación al final cuando sea necesario. Obviamente nada de esto es necesario pero me esta ayudando a entender las matemáticas mas alla de calcular numeritos.

  • source
  • hideshow 3 child comments
  • [–] 4 points 2 weeks ago (1 child)

    La magia de los floats es que son rápidos. Nada más.

    Si tienes que gastar ciclos de cpu para compensar la inexactitud, es mejor no usar floats, porque te quedas con lo peor de los dos mundos: más lento y menos exacto.

    Es bien sabido que para aplicaciones financieras, los floats están prohibidos.

    Si quieres una resolución de, digamos, 10¯⁹, lo mejor es usar longs, y que la unidad valga 10¯⁹.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 2 weeks ago

    floats

    O mejor aún, si el lenguaje lo soporta, usar un tipo de datos de punto fijo (a veces llamados "decimal"). Se hace cargo de algunos redondeos por ti sin tener que lidiar con los casos especiales que tiene trabajar con tipos de datos de números racionales (por ejemplo la pérdida de significación al multiplicar).

    Si quieres una resolución de, digamos, 10¯⁹, lo mejor es usar longs, y que la unidad valga 10¯⁹.

    Ojo con la consecuente reducción en el rango de representación de los enteros.

  • source
  • parent
  • [–] 2 points 2 weeks ago

    Awante MichiAstral!! Estás haciendo progreso y aprendiendo. Al comienzo es difícil pero después de un par de intentos no es tan terrible! Yo partí implementando geometría y renderización 3d en python con opengl y ahora estoy en C++ y se hizo más fácil la transición.

    Lo de los quaterniones todavía es medio misterioso para mí, pero por suerte es matemática ya está resuelta y es copy paste de algún otra pobre alma que se haya aventurado nomá.

  • source
  • parent