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