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

Tema: ayuda con juego de tenis

  1. #1
    Miembro Nuevo
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Question [SOLUCIONADO] Ayuda con juego de tenis

    Hola a todos, se 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 preambulos:
    Estoy empezando a hacer un juego de tenis en freebasic 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 donde 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 situacion:


    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!
    Saludos!
    Última edición por emasg; 18-07-2009 a las 02:47

  2. #2
    Senior Member
    Fecha de ingreso
    Aug 2007
    Ubicación
    Asturias/España
    Mensajes
    245

    Respuesta: Ayuda con juego de tenis

    Hola emasg,

    He de decirte que no entiendo como 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
    Miembro Nuevo
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Respuesta: Ayuda con juego de tenis

    Cita Iniciado por Bluder Ver mensaje
    Hola emasg,

    He de decirte que no entiendo como 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 donde cae la pelota.
    Basicamente lo que necesito es lograr la ecuacion para un tiro seguro, que pase por encima de la red y caiga donde quiero.

  4. #4
    BlenderAdicto Avatar de Caronte
    Fecha de ingreso
    Dec 2004
    Ubicación
    Valencia-España
    Mensajes
    14,691

    Respuesta: Ayuda con juego de tenis

    Sinceramente, creo que te estas 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
    "Algún día todo será digital". Caronte.
    Mi web: NicoDigital.com

  5. #5
    Senior Member
    Fecha de ingreso
    Aug 2007
    Ubicación
    Asturias/España
    Mensajes
    245

    Respuesta: 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/descar...parabolico.htm

    http://www.youtube.com/watch?v=dKovgwKYaj4
    Última edición por Bluder; 14-07-2009 a las 14:17

  6. #6
    Miembro Nuevo
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Respuesta: Ayuda con juego de tenis

    Les agradezco los consejos.
    Ahora, estoy usando ninfa3d, tiene algo de física, le puedo aplicar un impulos a un cuerpo pero no puedo conocer la trayectoria, es decir, nunca se donde 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, seria algo así como lanzar la pelota con una velocidad inicial que invento de alguna forma basandome en la posición de la cancha en la que esta la pelota. De acuerdo con esa velocidad calculo 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, requeriria 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ó, esta 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
    Senior Member
    Fecha de ingreso
    Aug 2007
    Ubicación
    Asturias/España
    Mensajes
    245

    Respuesta: Ayuda con juego de tenis

    Bueno,

    Teniendo el último punto, el punto central y el ángulo creo que puedes obtener la V inicial, basandote el alcance máximo y altura máxima:
    x = (Vo^2)*sen(2*a)/g (x del punto de caida)
    y(max) = (Vo^2)*(sen(a))^2/(2*g) (y del punto central)

    La duda que tengo es si dispones del ángulo.

    Aquí puedes encontrar como hallar la parabola a partir de los puntos:
    http://es.answers.yahoo.com/question...1133557AABpkr7
    http://leonardoparada.cl/matematica/...ados-3-puntos/
    Última edición por Bluder; 14-07-2009 a las 15:54

  8. #8
    Miembro Nuevo
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Respuesta: 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 termino de comprender.
    Si parametrizo el tiempo que quiero que tarde el tiro en tocar el piso o la velocidad inicial o el ángulo lo soluciono, 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 cuadratica que pasa por 3 puntos, busque en Internet y encontré cosas en wikipedia, pero no lo pude aplicar.

  9. #9
    Senior Member
    Fecha de ingreso
    Jan 2005
    Mensajes
    279

    Respuesta: Ayuda con juego de tenis

    Hola pues a mi se me ocurre esto, no se si será correcto ya que no soy programador pero bueno...

    seria una cosa así supongo

    maxtiempo=colision con la pala1
    mintiempo=clision con la pala0
    bucle



    if colisión conla 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 aver supongo que será una cosilla así.

  10. #10
    BlenderAdicto Avatar de Caronte
    Fecha de ingreso
    Dec 2004
    Ubicación
    Valencia-España
    Mensajes
    14,691

    Respuesta: Ayuda con juego de tenis

    mentalthink, 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 IA de tu juego como en aspectos más importantes, por ejemplo la jugabilidad
    "Algún día todo será digital". Caronte.
    Mi web: NicoDigital.com

  11. #11
    Estudiante Avatar de krateos_29
    Fecha de ingreso
    Sep 2007
    Mensajes
    943

    Respuesta: Ayuda con juego de tenis

    si quieres hacerlo por el método tradicional, saca los apuntes de tiro parabólico :D

    de lo que me acuerdo es que cuando la pelota esta 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
    Miembro Nuevo
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Respuesta: Ayuda con juego de tenis

    Se puede usar Bullet en FreeBasic? 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 desafio ja

  13. #13
    Vampiro Giovanni Avatar de Pepius
    Fecha de ingreso
    Feb 2004
    Ubicación
    Guadassuar, Valencia
    Mensajes
    4,998

    Respuesta: Ayuda con juego de tenis

    Entiendo lo que quieres hacer, es bastante importante en un juego de tennis que el programandor 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 impulos (teniendo en cuenta masa de la pelota y gravedad) del que debes dotar a la pelota. Diria 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 envien 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
    Miembro Nuevo
    Fecha de ingreso
    Jun 2008
    Mensajes
    19

    Respuesta: 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 calculo la trayectoria.
    Aunque no es mala la idea si esta 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 parabola 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 ecuacion.
    Ah! y entrando al foro para ver si alguien sabio la resolvio...

  15. #15
    Vampiro Giovanni Avatar de Pepius
    Fecha de ingreso
    Feb 2004
    Ubicación
    Guadassuar, Valencia
    Mensajes
    4,998

    Respuesta: Ayuda con juego de tenis

    Pues entonces haz lo que te han recomendado por arriba, revísate 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 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
    Último mensaje: 12-08-2009, 09:40
  2. Respuestas: 0
    Último mensaje: 02-07-2009, 07:40
  3. Respuestas: 0
    Último mensaje: 12-03-2009, 21:10
  4. crear pelota de tenis en maya
    Por TRSD en el foro Modelado
    Respuestas: 4
    Último mensaje: 27-10-2008, 16:25
  5. como crear una pelota de tenis 3ds max 6
    Por pixeldesing en el foro Modelado
    Respuestas: 13
    Último mensaje: 25-11-2007, 19:55

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •