fget_angle()

fget_angle(<x0>, <y0>, <x1>, <y1>)

Retorna:

El ángulo entre dos puntos.

Descripción:

Devuelve el ángulo que hay desde el punto 0 (x0, y0) hasta el punto 1 (x1, y1).

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).

Como coordenadas de ambos puntos (x0, y0, x1, y1) se puede especificar cualquier expresión numérica válida.

Programa ejemplo:
PROGRAM ejemplo_fget_angle;

PRIVATE
    coordenada_x0, coordenada_y0;
    coordenada_x1, coordenada_y1;
    resultado;
    fichero1;

BEGIN
    fichero1=load_fpg("help\help.fpg");
    write(0, 0, 0, 0, "Coordenadas punto 1");
    write(0, 0, 10, 0, "X:");
    write_int(0, 20, 10, 0, offset coordenada_x0);
    write(0, 0, 20, 0, "Y:");
    write_int(0, 20, 20, 0, offset coordenada_y0);
    write(0, 0, 40, 0, "Coordenadas punto 2");
    write(0, 0, 50, 0, "X:");
    write_int(0, 20, 50, 0, offset coordenada_x1);
    write(0, 0, 60, 0, "Y:");
    write_int(0, 20, 60, 0, offset coordenada_y1);
    write(0, 0, 80, 0, "Angulo del punto 1 al punto 2:");
    write_int(0, 0, 90, 0, offset resultado);
    write(0, 0, 200, 6, "Pulsa [ESPACIO] para hallar otros dos puntos.");
    LOOP
        clear_screen();
        coordenada_x0=rand(0, 319);
        coordenada_y0=rand(0, 199);
        coordenada_x1=rand(0, 319);
        coordenada_y1=rand(0, 199);
        put(fichero1,200,coordenada_x0, coordenada_y0);
        put(fichero1,200,coordenada_x1, coordenada_y1);

        //Hallamos el ángulo entre los dos puntos
        resultado = fget_angle(coordenada_x0, coordenada_y0, coordenada_x1, coordenada_y1);

        scan_code=0;
        WHILE (scan_code<>_space)
            FRAME;
        END
    END
END


En el ejemplo, después de poner los mensajes necesarios, se hallan las coordenadas x e y de dos puntos hallados al azar y se guardan en las variables destinadas para ello, calculando con la función fget_angle() el ángulo entre dichos puntos. Cada vez que se pulse la barra espaciadora se repetirá el proceso.

La función get_angle() se utiliza para obtener el ángulo de un proceso a otro, en lugar de entre dos puntos.

La función fget_dist() se utiliza para obtener la distancia entre dos puntos, en lugar del ángulo.


Ver: Uso de ángulos en el lenguaje - get_angle() - fget_dist()