Karoshi MSX Community
05 de Julio de 2021, 07:40:22 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: 1 [2]
  Imprimir  
Autor Tema: Parabola  (Leído 12093 veces)
0 Usuarios y 1 Visitante están viendo este tema.
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #15 : 03 de Octubre de 2008, 12:46:26 pm »

Por cierto, que tendría que incluirle el efecto del viento al G-MONKEY. Creo que aún así me cabría en 2 KB. Aunque también es cierto que tengo cosas mejores que hacer Tongue
En línea
k0ga
Karoshi Fan
**
Mensajes: 85


Email
« Respuesta #16 : 03 de Octubre de 2008, 05:59:38 pm »

Ramones: estoy contigo. No hace falta usar ni seno ni coseno para nada, si puedes determinar la velocidad inicial en los ejes X e Y directamente. Si miras el pseudocódigo que indiqué, sólo se usaban para el cálculo de la velocidad inicial, tal y como lo hice en el G-MONKEY, donde era imprescindible: a cada ángulo le corresponde una velocidad distinta en los ejes X e Y.

Estamos de acuerdo en que no se necesitan para nada más. Si quitas este detalle, verás como la solución que propones es equivalente a la mía. Wink

Joe, que la formula de la parabola es y=a*x^2+b*x+c, si derivamos obtenemos que dy/dx=2*a*x+b, es decir que el incremento del incremento es lineal, por lo que tal y como lo hace Armando es matematicamente correcto, es como se tiene que hacer, no es ninguna chapuza.

Yo usaba este tipo de cosas en el driver de microcabin, donde obtienen el seno de una manera parecida, gracias a una aproximacion del coseno (que es la derivada del seno).

Ahi teneis Wink.





En línea
kabish
Karoshi Maniac
****
Mensajes: 470


caspaflims@hotmail.com
« Respuesta #17 : 03 de Octubre de 2008, 06:05:29 pm »

Si en su dia me hubieran explicado las derivadas con juegos de MSX, seguro que las hubiera entendido mejor.  Smiley
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #18 : 03 de Octubre de 2008, 06:42:34 pm »

¿Una fórmula de Taylor para el driver de sonido? Vaya tela. Estos japos se meten de todo.  Shocked
En línea
Ramones
Visitante
« Respuesta #19 : 04 de Octubre de 2008, 12:25:14 am »

Joe, que la formula de la parabola es y=a*x^2+b*x+c, si derivamos obtenemos que dy/dx=2*a*x+b, es decir que el incremento del incremento es lineal, por lo que tal y como lo hace Armando es matematicamente correcto, es como se tiene que hacer, no es ninguna chapuza.

Yo usaba este tipo de cosas en el driver de microcabin, donde obtienen el seno de una manera parecida, gracias a una aproximacion del coseno (que es la derivada del seno).

Ahi teneis Wink.


La chapuza viene de la poca precisión. Al no usar punto fijo los incrementos son de 1 mínimo (a no ser que los ejecutes cada x ints o algo así). Para afinar un poco esta fórmula y dar gravedades más interesantes (al igual que incrementos de X), pues se puede optar por pequeños puntos fijos sencillos que dan mucho más margen.

Un punto fijo sencillo de 4 bits, con 3 bits de parte entera y 1 de signo se puede hacer con 1 byte y te da bastante resolución para hacer cosas interesantes. Sin necesidad de usar 2 bytes (16 bits) con parte punto fijo y entera, que siempre es más costoso en los cálculos. Esto lo uso en los Goonies ahora mismo y me sobra para aceleraciones, saltos, etc...

el bit más alto lo uso de signo, los 3 siguientes de parte entera y los 4 más bajos de punto fijo. No es gran cosa, pero da buenos resultados, aunque te cuesta 4 srls cada vez que quieres sumar a las coordenadas finales, o bien sacar el valor entero. Pero es aceptable.

Pero que si, que la fórmula de la parábola no deja de ser la que tu has puesto. Y es que precisamente HOY me ha tocado implementar una en el curro pero un poco más compleja. Con punto inicial y final, y aceleración Y de salida como parámetro. Pero ahí ya tiro de floats así que no hay problemas con la resolución. Podría pasarlo a Z80 sin problemas si a alguien le interesa. Tiene un punto crítico que es el cálculo inicial pero luego solo queda la aceleración de los dos ejes (X e Y) que es lo que se va sumando en cada interrupción, vamos supersencillo y muy rápido.






En línea
MsxKun
Karoshi Forum's Guru
*******
Mensajes: 1554


Kimochi-ii


WWW Email
« Respuesta #20 : 04 de Octubre de 2008, 11:29:52 am »

Pues no iria mal añadir estas cosas como Snippets, tarde o temprano acaban haciendo falta Smiley
En línea

--

Cindy Lauper She Bops!
OKI09
Karoshi Maniac
****
Mensajes: 275



WWW Email
« Respuesta #21 : 04 de Octubre de 2008, 11:37:40 am »

Ramones, puedes explicar mejor con un ejemplo (Si puedes, claro) como lo haces con un byte. No acabo de verlo claro. Embarrassed

Gracias
En línea

La derrota no es una opción y no hay excusas.
"Parasiempre"
SapphiRe_MSX
Visitante
« Respuesta #22 : 04 de Octubre de 2008, 02:07:56 pm »

el bit más alto lo uso de signo, los 3 siguientes de parte entera y los 4 más bajos de punto fijo. No es gran cosa, pero da buenos resultados, aunque te cuesta 4 srls cada vez que quieres sumar a las coordenadas finales, o bien sacar el valor entero. Pero es aceptable.

¿Pero no usas RLD y RRD? ¡Con lo cómodas que son! Cheesy Cheesy
En línea
Páginas: 1 [2]
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!