cairo/pycairo 画弧问题:PI/2 没有画出预期的东西

cairo/pycairo drawing arcs issue: PI/2 does not draw what expected

我试图找到类似的问题,关于绘制圆弧和圆的教程,但没有找到对这个问题有帮助的东西。

我正在玩 cairo 和 pycairo 试图画一个带象限的圆。

我不确定我是否在任何一点上迷路了,但我希望画的,好吧,根本不是我正在画的。

我的目标是画一个有不同象限的圆,每个象限有不同的填充颜色。

我构建表面和上下文,我可以画一个完整的圆 (2 * PI)、半个圆 (PI),当我尝试只画一个象限时 (PI/2 -> 90 度) 结果是我不明白的。

第一个示例,整圈(360 度又名 2 * PI 弧度):

ctx.rectangle(0, 0,1200,1200) # Rectangle(x0,y0,w,h)
ctx.set_source_rgb(1,1,1)
ctx.fill()
ctx.arc(600,600,500,0,2*math.pi)
ctx.set_source_rgb(1,0,0)
ctx.fill()
ctx.stroke()

结果正确,一个完整的圆:

full circle as supposed to be with 2 * PI radians (360 degrees)

第二个例子,半圆(180度,PI弧度):

ctx.rectangle(0, 0,1200,1200) # Rectangle(x0,y0,w,h)
ctx.set_source_rgb(1,1,1)
ctx.fill()
ctx.arc(600,600,500,0,math.pi)
ctx.set_source_rgb(1,0,0)
ctx.fill()
ctx.stroke()

结果正确,半圈:

(我已经删除了图像,因为我还没有足够的声誉)

第三个例子,一个quarter/quadrant(90度,圆周率/2):

ctx.rectangle(0, 0,1200,1200) # Rectangle(x0,y0,w,h)
ctx.set_source_rgb(1,1,1)
ctx.fill()
ctx.arc(600,600,500,0,math.pi/2)
ctx.set_source_rgb(1,0,0)
ctx.fill()
ctx.stroke()

我不明白:-?这里发生了什么?

The supposed to be quadrant, PI/2 90 degrees

拜托,有人可以帮我解决这个问题吗?我迷路了。

我自己找到了解决方案,但我不明白为什么每个弧度长度的行为都不完全相同。

如果你发出 move_to:

ctx.move_to(600,600)

现在可以完美呈现了。所以无论如何都要感谢大家。