| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
StopDesign 29.01.2007 14:13 / 29.01.2007 14:14
###########################################################################
# арктангенс частного, аналог atan2() из php
@atan2[y;x][atan;sign;res]
$sign[^if($y==0){1}{^math:sign($y)}]
^if($x > 0){
$atan[^math:atan(^math:abs($y/$x))]
$res($atan*$sign)
}
^if($x < 0){
$atan[^math:atan(^math:abs($y/$x))]
$res(($math:PI-$atan)*$sign)
}
^if($x == 0){
$res(($math:PI/2)*^math:sign($y))
}
# затычка для неверного автоформатирования отрицательных чисел
$result[^res.format[%.99f]]
#$result($res)
# END atan2
###########################################################################