编辑代码

local digit = 100
local clockwise = false
local function round(a)
    return math.floor(a * digit + 0.5) / digit
end

local radian_old = round(360.00 / 7)
local radian_new = round(360.00 / 5)
local arc_distance = radian_new - radian_old

print('radian_old -> ', radian_old)
print('radian_new -> ', radian_new)
print('arc_distance -> ', arc_distance)


local fix_degree = round(arc_distance / (500 / 30))

print('fix_degree -> ', fix_degree)
print('====================')

local count = 0
while(true) do
    count = count + 1
    if arc_distance > 0 then
        -- 此时弧度增加
        if (radian_old + fix_degree) > radian_new then
            local t = radian_old + fix_degree - radian_new
            t = math.floor(t * digit + 0.5) / digit
            print('fix -> ', t, radian_old + fix_degree - t)
            radian_old = radian_old + fix_degree - t
            break
        else
            radian_old = radian_old + fix_degree
        end
        print(count, radian_old)
        if clockwise then
        else
        end
    else
        if clockwise then
        else
        end
    end
  
    if count >= 20 then
        print('!!!count >= 20')
        break
    end
end
print('result -> ', radian_old)