Cómo determinar el ángulo necesario para viajar desde X1,Y1 a X2, Y2.
Relación de los ángulos
dibuje una línea de 100, de 100 a 200, 200 significaría que usted
drawling su línea de 135 grados.
Esta función determina que el ángulo.
función RelativeAngle(X1,Y1, X2,Y2 : Integer) : Integer
var
& nbsp & nbsp Theta :
& nbsp & nbsp XDist,
& nbsp & nbsp YDist : Integer
begin
& nbsp & nbsp Resultado := 0
& nbsp & nbsp //arctan((y2-y1)/(x2-x1))
& nbsp & nbsp XDist := X2 - X1
& nbsp & nbsp YDist := Y1 - Y2
& nbsp & nbsp si (XDist = 0) y (YDist=0), entonces la salida
& nbsp & nbsp si YDist=0, entonces
& nbsp & nbsp & nbsp & nbsp Theta := arctan((X2-X1))
& nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp Theta := arctan((X2-X1)/(Y1-Y2))
& nbsp & nbsp Resultado := Round(RadToDeg(Theta))
& nbsp & nbsp si (X2 >= X1) y (Y2 >= Y1), entonces //Cuadrante = 2
& nbsp & nbsp & nbsp & nbsp Resultado := 90 (90-Abs(Resultado))
& nbsp & nbsp else
& nbsp & nbsp si (X2 <= X1) y (Y2 >= Y1), entonces //Cuadrante = 3
& nbsp & nbsp & nbsp & nbsp Resultado := 180 Resultado
& nbsp & nbsp else
& nbsp & nbsp si (X2 <= X1) y (Y2 <= Y1) entonces //Cuadrante = 4
& nbsp & nbsp & nbsp & nbsp Resultado := 270 90-Abs(Resultado)
fin
Angulo relativo
Angulo relativo : Multi-millones de consejos para hacer su vida mas facil.
Como determinar el angulo necesario para viajar desde X1,Y1 a X2, Y2.
Relacion de los angulos
dibuje una linea de 100, de 100 a 200, 200 significaria que usted
drawling su linea de 135 grados.
Esta funcion determina que el angulo.
funcion RelativeAngle(X1,Y1, X2,Y2 : Integer) : Integer
var
& nbsp & nbsp Theta :
& nbsp & nbsp XDist,
& nbsp & nbsp YDist : Integer
begin
& nbsp & nbsp Resultado := 0
& nbsp & nbsp //arctan((y2-y1)/(x2-x1))
& nbsp & nbsp XDist := X2 - X1
& nbsp & nbsp YDist := Y1 - Y2
& nbsp & nbsp si (XDist = 0) y (YDist=0), entonces la salida
& nbsp & nbsp si YDist=0, entonces
& nbsp & nbsp & nbsp & nbsp Theta := arctan((X2-X1))
& nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp Theta := arctan((X2-X1)/(Y1-Y2))
& nbsp & nbsp Resultado := Round(RadToDeg(Theta))
& nbsp & nbsp si (X2 >= X1) y (Y2 >= Y1), entonces //Cuadrante = 2
& nbsp & nbsp & nbsp & nbsp Resultado := 90 (90-Abs(Resultado))
& nbsp & nbsp else
& nbsp & nbsp si (X2 <= X1) y (Y2 >= Y1), entonces //Cuadrante = 3
& nbsp & nbsp & nbsp & nbsp Resultado := 180 Resultado
& nbsp & nbsp else
& nbsp & nbsp si (X2 <= X1) y (Y2 <= Y1) entonces //Cuadrante = 4
& nbsp & nbsp & nbsp & nbsp Resultado := 270 90-Abs(Resultado)
fin