绕阴阳圈

时间:2019-03-02 21:22:26

标签: python python-3.x turtle-graphics

我一直试图在Python上尝试一个阴阳圆,但是到目前为止,我只能做一个黑色的半圆。在这里,我附加了它的外观和外观。我还应该在代码中添加什么? *为了使我更容易理解,在着色时使用填充功能。

我的代码:

import turtle

turtle.begin_fill()
turtle.circle(50,180)
turtle.end_fill()
turtle.hideturtle()

对我来说是什么样子: results

应该如何: desired results

2 个答案:

答案 0 :(得分:2)

您已经很接近了,如果从数学上考虑阴阳符号,它只是一束弧线,外面是两个大弧,里面是两个弧,长度的一半。 如果外部圆弧的长度为50,则内部圆弧的长度必须为25。默认情况下,海龟逆时针移动,因此要获得顺时针曲线,请使用负半径。像这样:

turtle.begin_fill()
turtle.circle(50, 180)
turtle.circle(25, 180)
turtle.circle(-25, 180)
turtle.end_fill()
turtle.circle(-50, 180)

此后,乌龟将返回其起点,圆圈的位置应在乌龟正下方的50处大约四分之一和四分之三,在这里您只需要制作两个完整的圆圈。

答案 1 :(得分:1)

就像我喜欢@CameronFerguson的单曲线方法(+1)一样,对于初学者来说,将其简单地看成五个圆圈可能会更容易。正如您已经实现的那样,第一个最大的圆圈填充在一侧。接下来的两个圆圈是原始半径的一半,以垂直轴为中心,并带有相反的颜色:

enter image description here

为最小的两个圆选择尺寸,在其上方为原始半径的1/8,使用与前一个圆相同的中心点,然后再次反转颜色。现在,切换到最终颜色,并适当地抬起笔以避免不必要的线条,我们得到:

enter image description here

再加上一些思考,两组内圆可以循环进行,将对turtle.circle()的调用次数减少一半。但是,如果您对@CameronFerguson的曲线方法感到满意,那就去吧!