13

主题

25

回帖

991

积分

优秀创作者

积分
991

夏日·闪闪发光勋章

发表于  2023-6-19 16:27:55 | 显示全部楼层 |阅读模式 3092 0
-- 返回弧度表示的y/x的反正切
function Util:atan2(y, x)
        if x > 0 then return math.atan(y / x) end
        if y >= 0 and x < 0 then return math.atan(y / x) + math.pi end
        if y < 0 and x < 0 then return math.atan(y / x) - math.pi end
        if y > 0 and x == 0 then return math.pi / 2 end
        if y < 0 and x == 0 then return -math.pi / 2 end
        if y == 0 and x == 0 then error("y and x is zero!") end
end