Что нового

Определение угла для заданной точки

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Функция возвращает значение угла (в градусах) относительно центра координат [$XC;$YC] для точки с координатами [$X;$Y]. Все координаты задаются относительно левого верхнего угла окна. В случае возникновения ошибки функция возвращает (-1) и устанавливает @error в 1.


Angle.png


Код:
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
 

damien2008

Осваивающий
Сообщения
178
Репутация
34
знаю, что тема давняя, но мне только-что пригодилась :smile:
Yashied,
это крайне полезная функция!
я, для pi, значение считаю так:
Код:
$pi = 4 * atan(1)

может кому пригодится)
 

ggzgamer

Осваивающий
Сообщения
134
Репутация
23
И интересно для чего пригодилось, если не секрет?
 

damien2008

Осваивающий
Сообщения
178
Репутация
34
не секрет
пишу скрипт, который..
в общем пишет текст путем прорисовки букв пером, например в любом графическом редакторе.
8)
 
Верх