es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo dibujar en Turtle dado un valor de velocidad y ángulo?

Mire primero mi código. Si lo ejecuta, el programa se verá así.

Entonces, mi pregunta es: tengo que ingresar el valor de velocidad y ángulo y presionar el botón para lanzarlo, pero no sé cómo hacerlo. Lo que tengo en mente en este momento es

(int (speed1.get ()) * math.cos (int (angle1.get ()))) * (int (speed1.get ()) * math.sin (int (angle1.get ())) / 4.9)

Creo que necesito usar esto. “if d>25” es la determinación, así que no sé si tengo que poner la fórmula en “d”.

¿Cómo puedo hacer eso?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para ingresar los valores de velocidad y ángulo y lanzar el programa, necesitarás crear una función que recupere los valores ingresados por el usuario y calcule la trayectoria utilizando la fórmula que tengas en mente.

    Puedes usar el argumento command en el widget del botón para llamar a esta función cuando el botón sea presionado. La sintaxis para esto es command=nombre_de_la_función.

    Aquí hay un ejemplo de cómo podría estar estructurada la función:

    def lanzamiento():
        velocidad = int(velocidad1.get())
        ángulo = int(ángulo1.get())
        distancia = (velocidad**2 * math.sin(2*math.radians(ángulo))) / 9.8
    
        # establece las coordenadas x e y para que la tortuga se mueva
        x = 0
        y = 0
        for i in range(int(distancia)):
            x += 1
            y = (velocidad*math.sin(math.radians(ángulo))*i) - (0.5*9.8*i*i)
            turtle.goto(x, y)
    
            # si la tortuga se va fuera de la pantalla, detener el bucle
            if x > 25:
                break
    

    En esta función, recuperamos los valores de velocidad y ángulo ingresados por el usuario utilizando el método get() en los widgets velocidad1 y ángulo1. Luego usamos la fórmula que proporcionaste para calcular la distancia que la tortuga debe moverse.

    Luego, iteramos a través del número de píxeles que la tortuga debe moverse (que está determinado por el valor de la distancia). En cada iteración, actualizamos las coordenadas x e y de la tortuga utilizando las ecuaciones para el movimiento de proyectiles.

    Finalmente, verificamos si la tortuga se ha ido fuera de la pantalla (que definimos como x > 25). Si es así, salimos del bucle para que el programa no siga ejecutándose innecesariamente.

    Para llamar a esta función cuando el botón sea presionado, puede usar el siguiente código:

    botón_lanzamiento = tk.Button(root, text="Lanzamiento", command=lanzamiento)
    botón_lanzamiento.pack()
    

    Esto crea un nuevo widget de botón (usando el constructor tk.Button), establece el atributo texto en “Lanzamiento” y establece el atributo command en la función lanzamiento que definimos anteriormente. Luego, usamos el método pack() para agregar este botón a la GUI.

    Con estos cambios, tu programa ahora debería lanzar la tortuga cuando el usuario ingrese los valores de velocidad y ángulo y presione el botón “Lanzamiento”.

Comments are closed.