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