get_angle()

get_angle(<código identificador>)

Retorna:

El ángulo hacia otro proceso.

Descripción:

Devuelve el ángulo desde el proceso actual (el que llamó a esta función) hasta el proceso cuyo código identificador se le pasa como parámetro.

Ver formas de obtener el código identificador, para más información.

Se recuerda que el ángulo se especifica en milésimas de grado. La función devuelve siempre un valor entre -180000 y 180000 (un ángulo entre -180 y 180 grados).

Programa ejemplo:
PROGRAM ejemplo_get_angle;

PRIVATE
    ángulo_resultante;
    identificador_proceso;

BEGIN
    load_fpg("help\help.fpg");
    put_screen(0, 1);
    graph=100;
    x=160;
    y=100;

    identificador_proceso = proceso_móvil(80, 50, 101);

    write(0, 160, 200, 7, "Use los cursores para mover el triángulo.");
    write(0, 0, 0, 0, "Angulo desde la bola hacia el triángulo:");
    write_int(0, 0, 10, 0, offset ángulo_resultante);
    LOOP

        // Hallamos el ángulo entre los dos procesos
        ángulo_resultante = get_angle(identificador_proceso);

        FRAME;
    END
END

PROCESS proceso_móvil(x, y, graph);
BEGIN
    LOOP
        IF (key(_right)) angle-=10000; END
        IF (key(_left)) angle+=10000; END
        IF (key(_up)) advance(4); END
        FRAME;
    END
END


Al inicio se pone el fondo de pantalla y el programa principal define su gráfico como una bola situada en el centro de la pantalla.

Despúes, se crea un proceso del tipo proceso_móvil del cual se coge el código identificador, que se puede controlar con los cursores.

Dentro del bucle principal se calcula y muestra continuamente en pantalla el ángulo entre los dos procesos.

La función fget_angle() se utiliza para obtener el ángulo entre dos puntos, en lugar de entre dos procesos. Si el código identificador del proceso se tiene, por ejemplo, en una variable denominada id2, entonces la llamada a la función:

    get_angle(id2)

Sería equivalente a:

    fget_angle(x, y, id2.x, id2.y)

Obtener el ángulo desde las coordenadas (x, y) del proceso actual, hasta las coordenadas (x, y) del proceso cuyo código identificador es id2.

La función get_dist() se utiliza para obtener la distancia hasta otro proceso, en lugar del ángulo.


Ver: Uso de ángulos en el lenguaje - fget_angle() - get_dist()