int fget_angle2d( int x0, int y0, int x1, int 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 grados. 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.


MAIN_PROGRAM_CDIV

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

BEGIN_PROGRAM

    set_gfx(GFX_AUTODETECT_WINDOWED);
    set_mode(m320x200);

    fichero1=load_fpg("../help.fpg");

    write(0, 0, 0, 0, "Coordenadas punto 1");
    write(0, 0, 10, 0, "X:");
    write_int(0, 20, 10, 0, &coordenada_x0);
    write(0, 0, 20, 0, "Y:");
    write_int(0, 20, 20, 0, &coordenada_y0);
    write(0, 0, 40, 0, "Coordenadas punto 2");
    write(0, 0, 50, 0, "X:");
    write_int(0, 20, 50, 0, &coordenada_x1);
    write(0, 0, 60, 0, "Y:");
    write_int(0, 20, 60, 0, &coordenada_y1);
    write(0, 0, 80, 0, "Angulo del punto 1 al punto 2:");
    write_int(0, 0, 90, 0, &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_angle2d(coordenada_x0, coordenada_y0, coordenada_x1, coordenada_y1);

        scan_code=0;
        while (scan_code!=_space)
            FRAME;
    }
END_PROGRAM

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_angle2d() el ángulo entre dichos puntos. Cada vez que se pulse la barra espaciadora se repetirá el proceso.

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

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


Ver: Uso de ángulos en el lenguaje - get_angle2d() - fget_dist2d()