fijar rumbo de tortuga

fijar rumbo de tortuga

de Martha Cecilia Massanet Rovetta -
Número de respuestas: 5
Mis consultas son las siguientes:

1) Hay un ejercicio donde se pide que la tortuga cambie de posición cada cierto tiempo y se ubique en la posición actual del puntero (o cursor como dice el ejercicio). Esto lo pude hacer fijando las nuevas coordenadas. Pero tiene una segunda parte donde pide que se oriente "mirando" a donde está el puntero, esto no supe cómo hacerlo. Pensamos que quizás por cálculo de trigonometría, pero no pude sacar cómo calcular el ángulo que debe girar la tortuga (rumbo) según la coordenada que tenga el puntero en ese instante.

2) No sé bien cómo tengo que sincronizar 2 motores para que inicien a la vez.

Gracias por su tiempo ...
En respuesta a Martha Cecilia Massanet Rovetta

Re: fijar rumbo de tortuga

de Jorge Adrián Verano Reyes -
Hola:

Lo que pasa es que necesitás la función COSENO que el programa no trae. Yo lo pensé también así pero no pude, fue el único que me quedó por hacer en ese práctico.

Saludos.
En respuesta a Jorge Adrián Verano Reyes

Re: fijar rumbo de tortuga

de Andres Aguirre -
La función coseno puede implementarse en tortuga con el bloque Python.
En f(x) colocar: cos(x)

saludos
andrés

En respuesta a Andres Aguirre

Re: fijar rumbo de tortuga

de Jorge Adrián Verano Reyes -
Muy bien, voy a probar a ver si sale con la función COSENO.
Gracias.

Saludos.
En respuesta a Jorge Adrián Verano Reyes

Re: fijar rumbo de tortuga

de Nestor Garcia -
Otra solución es aproximar inverso tangente utilizando los dos primeros términos de la serie de taylor. He estado probando y logré que funcione para ángulos dentro de dos intervalos, aún no logré hacerlo funcionar en los intervalos restantes para completar 360º...
En respuesta a Nestor Garcia

Re: fijar rumbo de tortuga

de Nestor Garcia -
El seudocódigo del algoritmo sería el siguiente:
(funciona 360º)

Empezar


Por siempre {


mi caja = 1 /* variable booleana vale 1 cuando |x| < 1 */

caja 1 = (cursor y – coory) / (cursor x – coorx) /* cálculo de la tangente */


Si (caja 1 < -1) o (1 < caja 1) { /* en caso de que |x| > 1 */

entonces

mi caja = 0

caja 1 = -1 / caja 1 /* giro los ejes 90º, oy es ox, y ox es oy */

} fin si


caja 2 = (caja 1) – ((caja 1)^ 3)/3 /* utilizo taylor para calcular arco tangente */

caja 2 = ((caja 2) * 360) / (2 * 3,14) /* paso de radianes a grados */


Si (0 < mi caja)) {

entonces

fijar rumbo 90 /* la tortuga apunta hacia el eje ox */

Si (cursor x < 0){

entonces

izquierda 180 /* si cursor x es negativo debo girar 180º */

} fin si

si no

fijar rumbo 0 /* la tortuga apunta hacia el eje oy */

Si (cursor y < 0){

entonces

izquierda 180 /* si cursor y es negativo debo girar 180º */

} fin si

} fin si


izquierda caja 2 /* giro la tortuga hacia donde esta el cursor */

esperar 0,1 segundos /* la tortuga espera 0,1 segundos */


}fin de por siempre