![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Buenas amigo el codigo que pusiste tienes unos if sin then que no se bien que es lo que quieres hacer con eso, la verdad no entendi mucho el codigo me lo ppodrias explicar?
Y gracias por la idea de usar sen o cos para hacer el movimiento parabolico cuando termine de hacer el rectilineo veo que logro hacer con eso. |
|
#2
|
||||
|
||||
|
A ver, a ver, "que sus estáis liando".
Cuando se está intentando reproducir un efecto físico, lo mejor es acudir a la física. La pelota tiene una posición, que en física suele designarse mediante un vector P = { x, y }. Al mismo tiempo tiene una velocidad, que en física también se designa mediante un vector V = { Vx, Vy }, el cual representa la diferencia de posición de la pelota (Δ o "delta") en un espacio de tiempo t (es decir, el tiempo de un fotograma). Por tanto la nueva posición de la pelota sería la suma de vectores P1 = P + V = { x + Vx, y + Vy }. Según Newton (que a pesar de Einstein sigue siendo vigente) la velocidad es constante y sólo cambia si se le aplica una fuerza externa (por ejemplo, se golpea la pelota con una pala o raqueta, o la pelota golpea una pared). En física* las fuerzas también son vectores y normalmente se aplican sumándolos al vector V, aunque a la hora de programar pueden usarse algunos trucos. Por ejemplo, si se quiere que rebote contra los bordes de la pantalla entonces lo que hay que hacer es "invertir" el eje afectado. Si golpea los laterales, se invierte el eje horizontal (P2 = { x * (-1), y}), y si es la parte superior o la inferior se invierte el vertical (P2 = { x, y * (-1)}). En cuanto a la parábola, sí es cierto que puede simularse mediante el seno y el coseno, pero será complicado. Aplicando la física es mucho más simple. La pelota describe una parábola porque es atraída por la Tierra. La atracción gravitatoria es una fuerza, y hemos dicho que las fuerzas son vectores, así que si tenemos la fuerza G podemos aplicarla a la velocidad de la pelota sumándosela. ¿Y todo esto cómo se codifica? Pues más fácil de lo que parece:
Más o menos. Si se quiere hacer absolutamente realista habría que andarse con normales, módulos, producto escalar, producto matricial... Pero para un caso simple como este esto es más que suficiente (estrictamente hablando es una optimización* del cálculo vectorial y matricial implicado). __________________________ * Si hay algún físico en la sala seguro que me desacreditará dada la extrema simplificación, porque la cosa es algo más complicada a lo que explico, pero para lo que se necesita aquí es suficiente.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#3
|
||||
|
||||
![]() No es algo complicado, pero la explicación ha quedado muy clara incluso para los más torpes ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
Bueno, de vez en cuando escribo cosas útiles...
![]()
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
|
#5
|
||||
|
||||
|
Que la masa por la derivada de la velocidad respecto al tiempo os te acompañe Nuño
![]() Valga aclarar que eso funciona mientras el espacio sea euclidiano Saludos, |
|
#6
|
||||
|
||||
|
Eso es algo que sabe cualquier Klingon
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Problema con animacion | dfv | Gráficos | 4 | 19-10-2006 15:49:32 |
| animación Delphi | anto1178 | Varios | 1 | 31-08-2006 23:17:24 |
| Animacion por frames | Drake | C++ Builder | 5 | 26-06-2006 12:52:04 |
| Animacion por frames | Drake | C++ Builder | 2 | 28-12-2005 19:30:44 |
| Animacion | Troyano | Varios | 2 | 16-06-2004 15:29:02 |
|