十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
画圆的函数如下
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了九龙坡免费建站欢迎大家使用!
turtle.circle(radius, extent=None, steps=None)
参数分别为半径、弧度和画圆弧线段的数量
半径为负,方向相反的原因可以看下turtle库的源代码
w = 1.0 * extent / steps
w2 = 0.5 * w
l = 2.0 * radius * math.sin(w2*math.pi/180.0*self._degreesPerAU)
if radius 0:
l, w, w2 = -l, -w, -w2
时设计模块时,可能就希望用半径的正负控制划线的方向
1、先搞清楚画笔的基本用法。
2、再搞清楚椭圆的函数。
3、根据别人的代码,自己多调试几次就画出有意思的图形了。
代码如下:
import turtle
pen=turtle.Turtle() #定义画笔实例
a=1
for i in range(120):
if 0=i30 or 60=i90:
a=a+0.2
pen.lt(3) #向左转3度
pen.fd(a) #向前走a的步长
else:
a=a-0.2
pen.lt(3)
pen.fd(a)
print(pen)
turtle.mainloop()
示例:
from sympy.geometry import Circle, Ellipse
e = Ellipse(Point(0, 0), 5, 7)
e.intersection(Circle(Point(1,0),5))
输出:
[Point(25/6,−7∗sqrt(11)/6),Point(25/6,7∗sqrt(11)/6)]
P.S. 不过有时候如果结果太复杂就会time out
from turtle import *
def yin(radius, color1, color2):
width(3)
color("black", color1)
begin_fill()
circle(radius/2., 180)
circle(radius, 180)
left(180)
circle(-radius/2., 180)
end_fill()
left(90)
up()
forward(radius*0.35)
right(90)
down()
color(color1, color2)
begin_fill()
circle(radius*0.15)
end_fill()
left(90)
up()
backward(radius*0.35)
down()
left(90)
def main():
reset()
yin(200, "black", "white")
yin(200, "white", "black")
ht()
return "Done!"
if __name__ == '__main__':
main()
mainloop()