- Сообщения
- 5,379
- Репутация
- 2,724
Функция возвращает значение угла (в градусах) относительно центра координат [$XC;$YC] для точки с координатами [$X;$Y]. Все координаты задаются относительно левого верхнего угла окна. В случае возникновения ошибки функция возвращает (-1) и устанавливает @error в 1.
Код:
MsgBox(0, '', _Angle(@DesktopWidth / 2 - 100, @DesktopHeight / 2 - 100, @DesktopWidth / 2, @DesktopHeight / 2))
Func _Angle($X, $Y, $XC, $YC)
If ($X = $XC) And ($Y = $YC) Then
Return SetError(1, 0, -1)
EndIf
Local $Grad = ($Y > $YC) * 180 - ATan(($XC - $X) / ($YC - $Y)) * 180 / 3.1415926535897932384626 + 90
If $Grad = 360 Then
$Grad = 0
EndIf
Return $Grad
EndFunc ;==>_Angle