Lua Ti-Nspire fillArc()方法未按预期工作

我有以下代码:

platform.window:invalidate()

function on.paint(gc)
    gc:setColorRGB(0,0,0)

    for i=1,8,1 do
        gc:fillArc(230,(i*30)-40,30,30,45,360-(i*60))
    end
end

如果您看第一个迭代,其中i=1,应该逆时针从45°至300°绘制圆形。但实际发生的情况并不是这样。圆形从看起来像45°到345°绘制,这显然是不可取的。

当绘制其他圆形时,会发生一些其他奇怪的现象,使它们在绘制时看起来翻转或镜像之类的东西。可以通过将不同值输入fillArc()方法的最后2个参数来复制此奇怪现象。90和270从90到360绘制。180和270从180绘制到90。为什么会发生这种情况?

an expected input and 2 circles

https://imgur.com/a/Miww8

点赞
用户1442917
用户1442917

我没有设备来测试这个,但从你所描述的来看, "end angle" 参数似乎是相对于 "start angle" 计算的,因此 90 和 270 将从 90 到 90+270 画出。 这不是我对文档的理解 - "弧线从 startAngle 度开始绘制,结束于 endAngle 度。" ,但它可能可以以任何一种方式来解释。

2018-01-31 04:47:32