Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 30

Tema: Sugerencias con juego de tenis

  1. #1
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Question [solucionado] con juego de tenis

    Hola a todos, sé que esto no tiene mucho que ver con modelado o con 3d, pero seguramente hay mucha gente que conoce de matemáticas y física por aquí.

    Sin más preámbulos:
    Estoy empezando a hacer un juego de tenis en frebasic con la librería ninfa3d.

    Venia todo bien hasta que me tope con la parte de calcular el tiro.

    Voy a empezar usando un tiro oblicuo sin considerar el rozamiento del aire ni el spin de la pelota. Lo que conozco son 3 puntos, el punto desde dónde parte el tiro, el punto a la altura de la red donde quiero que pase la pelota, y finalmente donde quiero que caiga y por ahora solo consideré 2 dimensiones, más tarde me encargo de la tercera.

    Llame a los puntos (xo,yo) (xc, yc) y (xf,yf).

    Este es un gráfico de la situación:
    La pregunta es: se puede calcular voy (velocidad inicial de y) y vox(velocidad inicial de x (constante)) conociendo estos 3 puntos? Como llego al resultado?
    Llevo un par de días tratando y unas 10 hojas de tachones, agradezco cualquier ayuda. Gracias y saludos.
    Última edición por emasg; 18-07-2009 a las 01:47

  2. #2
    Fecha de ingreso
    Aug 2007
    Mensajes
    240

    Ayuda con juego de tenis

    Hola emasg. He de decirte que no entiendo cómo planteas el problema. En el juego de tenis lo que deberías conocer es con que velocidad sale despedida la pelota de la raqueta y de donde, los otros puntos son variables, además otro tema seria el ángulo respecto al suelo, o a la normal del suelo como prefieras, que también influye en el tiro. Es un problema de tiro parabólico además un movimiento acelerado ya que la gravedad es una aceleración, no es constante. Un saludo.

  3. #3
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Ayuda con juego de tenis

    Hola emasg. He de decirte que no entiendo cómo planteas el problema. En el juego de tenis lo que deberías conocer es con que velocidad sale despedida la pelota de la raqueta y de donde, los otros puntos son variables, además otro tema seria el ángulo respecto al suelo, o a la normal del suelo como prefieras, que también influye en el tiro. Es un problema de tiro parabólico además un movimiento acelerado ya que la gravedad es una aceleración, no es constante. Un saludo.
    El problema es que no puedo tirar una velocidad al azar porque nunca voy a saber dónde cae la pelota.

    Básicamente lo que necesito es lograr la ecuación para un tiro seguro, que pase por encima de la red y caiga donde quiero.

  4. #4
    Fecha de ingreso
    Dec 2004
    Mensajes
    14,031

    Ayuda con juego de tenis

    Sinceramente, creo que te estás metiendo en berenjenales. Hoy día nadie calcula esas cosas, simplemente debes usar un motor de físicas para que al lanzar la pelota se calcule la trayectoria y sus rebotes automáticamente.

  5. #5
    Fecha de ingreso
    Aug 2007
    Mensajes
    240

    Ayuda con juego de tenis

    A ver. No comprendo, si es un juego debería poderse fallar ¿no? Edito: como te ha dicho Caronte, hay otras opciones más sencillas. Si quieres hacer tu las cosas, por amor al arte, por que te gusta, o por la razón que sea, puedes mirar estos enlaces sobre el tiro parabólico: http://descartes, cnice, mec.es/desc...parabolico.htm. http://www.youtube.com/watch?v=dkovgwkyaj4.
    Última edición por Bluder; 14-07-2009 a las 13:17

  6. #6
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Ayuda con juego de tenis

    Les agradezco los consejos. Ahora, estoy usando ninfa3d, tiene algo de física, le puedo aplicar un impulso a un cuerpo, pero no puedo conocer la trayectoria, es decir, nunca se dónde va a tocar con el suelo entre otras cosas. Me podrían recomendar algún engine?
    Por otra parte, el tiro seguro es necesario para programar la inteligencia artificial, se empieza por hacer un jugador que no falle y luego se le agrega un margen de error de acuerdo con el nivel del jugador.

    Pero bueno, si insisten quiero comprender lo que proponen, sería algo, así como lanzar la pelota con una velocidad inicial que invento de alguna forma basándome en la posición de la cancha en la que está la pelota. De acuerdo con esa velocidad cálculo la trayectoria para que la pelota no toque la red y toque el suelo donde quiero. El problema en este caso seria conseguir esa velocidad inicial, requeriría de un algoritmo que le de sentido puesto que si la pelota esta baja y muy cerca de la red no se le puede pegar a 100 km/h porque nunca va a entrar, por ejemplo.

    Con respecto al enlace de tiro parabólico me gustó, está muy bien explicado, pero no encontré en ninguna web ni libro un ejemplo donde se calcule un tiro oblicuo a partir de 3 puntos, tal vez sea imposible (¿).

  7. #7
    Fecha de ingreso
    Aug 2007
    Mensajes
    240

    Ayuda con juego de tenis

    Bueno. Teniendo el último punto, el punto central y el ángulo creo que puedes obtener la v inicial, basándote el alcance máximo y altura máxima:
    X = (vo2)*sen(2*a)/g (x del punto de caída).

    Y(max) = (vo2)*(sen(a))2/(2*g) (y del punto central).

    La duda que tengo es si dispones del ángulo.

    Aquí puedes encontrar como hallar la parábola a partir de los puntos: http://es.answers, Yahoo.com/questio...11133557abpkr7. http://leonardoparada.cl/matemática/...ados-3-puntos/.
    Última edición por Bluder; 14-07-2009 a las 14:54

  8. #8
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Ayuda con juego de tenis

    La duda que tengo es si dispones del ángulo.[/quote]Gracias bluder. No tengo el ángulo, porque todo depende de todo, eso es lo que no término de comprender.

    Si parametrizo el tiempo que quiero que tarde el tiro en tocar el piso o la velocidad inicial o el ángulo solucionó, pero no es lo que quiero parametrizar porque así no es el tenis, en el tenis uno calcula la altura a la que se quiere que pase la pelota por encima de la red y donde se quiere que caiga, de ahí sale el ángulo y la velocidad de x.

    En principio parece una función cuadrática que pasa por 3 puntos, busque en internet y encontré cosas en Wikipedia, pero no lo pude aplicar.

  9. #9
    Fecha de ingreso
    Jan 2005
    Mensajes
    279

    Ayuda con juego de tenis

    Hola pues a mí se me ocurre esto, no sé si será correcto ya que no soy programador, pero bueno. Seria una cosa así supongo.

    Maxtiempo=colisión con la pala1.

    Mintiempo=clision con la pala0.

    Bucle.

    If colisión con la pala=1 then gravedad=gravedad+1 and x=x-1.

    If colisión con la pala0=1 then gravedad=ravedad+1 and x=x+1.

    If recorrido=0 // donde 0 en la mitad de la pista de tenis// then gravedad=gravedad-1.

    Repetir bucle.

    No se a lo mejor no te funciona, pero prueba a ver supongo que, será una cosa así.

  10. #10
    Fecha de ingreso
    Dec 2004
    Mensajes
    14,031

    Ayuda con juego de tenis

    Metalthink, te has pasado 3 pueblos con ese pseudo-código. Insisto, usa un motor de físicas (yo te recomendaría bullet que es el que usa Blender) y así no tendrás que reinventar la rueda y podrás centrarte tanto en la inteligencia artificial de tu juego como en aspectos más importantes, por ejemplo, la jugabilidad.

  11. #11
    Fecha de ingreso
    Sep 2007
    Mensajes
    942

    Ayuda con juego de tenis

    Si quieres hacerlo por el método tradicional, saca los apuntes de tiro parabólico. De lo que me acuerdo es que cuando la pelota está en su punto más alto, la velocidady=0.

    La velocidadx es siempre constante.

    Y bueno, supongo que, sería cuestión de poner las ecuaciones del tiro parabólico en el programa.

    Ten en cuenta que es un movimiento uniformemente acelerado (gravedad).

  12. #12
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Ayuda con juego de tenis

    Se puede usar bullet en frebasic? O en que programo? La idea era usar todo software libre, pero bueno, si hay que comprar algo no tengo drama, ahora ya me cope, es un desafío.

  13. #13
    Fecha de ingreso
    Feb 2004
    Mensajes
    4,832

    Ayuda con juego de tenis

    Entiendo lo que quieres hacer, es bastante importante en un juego de tenis que el programando pueda controlar donde vaya a caer la pelota.

    Yo no parametrizaría nada. Como te comentan por aquí, usa las físicas de las que dispongas. Si dices que ninfa3d te permite dar impulsos, es suficiente. Yo no calcularía velocidad inicial, sino la fuerza y dirección del impulso (teniendo en cuenta masa de la pelota y gravedad) del que debes dotar a la pelota. Diría que es una ecuación con bastantes incógnitas (posición donde va a caer la pelota, altura a la que ira, velocidad que llevara). ¿forma rápida de hacerlo? Pues a ojo, pruebas valores, hasta que des con unos que envíen la pelota a fondo de pista pasando cerca de la red. A partir de ahí los modificas levemente y apuntas los que den resultado satisfactorio.

    Un poco patatero, pero vaya.

  14. #14
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Ayuda con juego de tenis

    Claro, tendría que hacer un ciclo que vaya probando valores hasta que de con lo que yo quiero. Eso podría generar un terrible bug en el momento en el que cálculo la trayectoria.

    Aunque no es mala la idea si está bien organizada.

    Se vuelve una especie de batalla código vs. Matematica.

    Ahora, lo que me pasa es que cada vez que miro el gráfico, con los 3 puntos y la parábola pienso no puede ser tan difícil.

    Así que cuando salga del trabajo voy a seguir tachando hojas, en lugar de estudiar para la Facu, hasta que me salga la ecuación.

    Ah, y entrando al foro para ver si alguien sabio la resolvió.

  15. #15
    Fecha de ingreso
    Feb 2004
    Mensajes
    4,832

    Ayuda con juego de tenis

    Pues entonces haz lo que te han recomendado por arriba, revisa los apuntes de movimiento parabólico, aunque ya te digo: sacar todo un juego de tenis haciendo esos cálculos va a ser algo muy difícil. Más que nada porque después la bola tendrá que volver a subir por el rebote, y tendrás que hacer esos cálculos también. Además, los tiros no se realizaran con una velocidad de pelota 0. Y esa es otra, tendrás que tener en cuenta aceleraciones también. Suerte.

Página 1 de 2 12 ÚltimoÚltimo

Temas similares

  1. Textura tierra batida pista de tenis
    Por anjinsan en el foro Materiales y Texturizado
    Respuestas: 5
    : 12-08-2009, 08:40
  2. Respuestas: 0
    : 12-03-2009, 19:10
  3. Crear pelota de tenis en Maya
    Por TRSD en el foro Modelado
    Respuestas: 4
    : 27-10-2008, 14:25
  4. Cómo crear una pelota de tenis 3ds Max 6
    Por pixeldesing en el foro Modelado
    Respuestas: 13
    : 25-11-2007, 17:55
  5. Sugerencias con juego
    Por kriz77 en el foro Pasatiempos y sugerencias
    Respuestas: 4
    : 16-01-2007, 20:32