¿Cálculo de ángulos en vb?
Atenuar raíz del ángulo como doble, ángulo como doble
Const PI = 3,14159265358979
Private Sub Timer1_Timer()
Atenuar P como POINTAPI
GetCursorPos P 'Obtiene la posición del mouse en la pantalla
ScreenToClient Me.hwnd, P 'Convierte a las coordenadas de este formulario
Dim Tckt As Booleano
Tckt = P.x gt; = 0 Y P.y gt; = 0 Y P.x lt; Me.Width / Screen.TwipsPerPixelX Y P.y lt;
If Tckt Then
Text1.Text = P.x
Text2.Text = P.y 'Mostrar coordenadas en píxeles
End If
'Text3.Text = Toma el ángulo del personaje (151 - P.x, 131 - P.y)
Text3.Text = Toma el ángulo del personaje (P.x - 151, 131 - P.y)
End Sub
La función toma el ángulo del carácter (ByVal ángulo X como doble, ByVal ángulo Y como doble) como doble
Si el ángulo X = 0 y el ángulo Y gt;
Raíz del ángulo = 0
Toma el carácter ángulo = CStr (raíz del ángulo)
Salir de la función
Finalizar si
Si Ángulo Y = 0 Y Ángulo X GT 0 ENTONCES
raíz del ángulo = 90
Obtenga el carácter ángulo = cstr (raíz del ángulo)
función de salida
Fin si
Si Ángulo
Función de salida
Fin si
Si ángulo X lt 0 Y ángulo Y; = 0 Entonces
Raíz del ángulo = 270
Toma el carácter ángulo = CStr (raíz del ángulo)
Salir de la función
Finalizar si
Si ángulo X gt; 0 Y ángulo Y gt 0 Entonces p>
Raíz del ángulo = Atn (ángulo X / ángulo Y) * 180 / PI
Toma el carácter ángulo = CStr (raíz del ángulo)
Salir de la función
Fin si
Si el ángulo X gt 0 y el ángulo Y lt;
Raíz del ángulo = Atn(Abs(ángulo Y) / ángulo
Grados Ángulo X lt; 0 Y Ángulo Y lt; 0 Entonces
Raíz del ángulo = Atn(Abs(ángulo Ángulo = CStr (raíz del ángulo)
Salir de la función
Fin Si
Si ángulo X lt 0 Y ángulo Y gt 0 Entonces
Raíz del ángulo = Atn(Abs(ángulo Y) / Abs(ángulo X)) * 180 / PI 270
Tome el carácter ángulo = CStr(raíz del ángulo)
Salir de la función
Finalizar si
Finalizar la función