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_PROGRAMEn 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()