使用 Turtle 在Python中绘制圆
Turtle 是一个类似于绘图板的Python功能,它可以让我们命令乌龟在上面画图!我们可以使用turtle.forward(…) 和turtle.right(…) 之类的函数来移动海龟。 Turtle 是一种初学者友好的Python学习方式,通过运行一些基本命令并查看海龟以图形方式进行操作。它就像一个绘图板,可以让你在上面画画。 turtle 模块可以以面向对象和面向过程的方式使用。
对于绘图, Python turtle 提供了很多函数和方法,即向前、向后等。一些常用的方法是:
- forward(x):将笔向前移动 x 个单位。
- 向后(x):将笔向后移动 x 单位。
- right(x):将笔顺时针旋转角度 x。
- left(x):将笔逆时针旋转角度 x。
- penup():停止绘制海龟笔。
- pendown():开始绘制海龟笔。
现在要使用海龟画一个圆,我们将使用“海龟”中的预定义函数。
circle(radius):此函数以“海龟”位置为中心,绘制一个给定半径的圆。
例子:
Python3
# Python program to demonstrate
# circle drawing
import turtle
# Initializing the turtle
t = turtle.Turtle()
r = 50
t.circle(r)
Python3
# Python program to demonstrate
# tangent circle drawing
import turtle
t = turtle.Turtle()
# radius for smallest circle
r = 10
# number of circles
n = 10
# loop for printing tangent circles
for i in range(1, n + 1, 1):
t.circle(r * i)
Python3
# Python program to demonstrate
# spiral circle drawing
import turtle
t = turtle.Turtle()
# taking radius of initial radius
r = 10
# Loop for printing spiral circle
for i in range(100):
t.circle(r + i, 45)
Python3
# Python program to demonstrate
# concentric circle drawing
import turtle
t = turtle.Turtle()
# radius of the circle
r = 10
# Loop for printing concentric circles
for i in range(50):
t.circle(r * i)
t.up()
t.sety((r * i)*(-1))
t.down()
输出 :
切圆
切线是在一点与圆外圆周相接触的线,前提是该线的任何延伸都不会导致与圆相交。现在,考虑一组有共同切线的圆。有共同切线的一组圆称为切圆。
例子:
Python3
# Python program to demonstrate
# tangent circle drawing
import turtle
t = turtle.Turtle()
# radius for smallest circle
r = 10
# number of circles
n = 10
# loop for printing tangent circles
for i in range(1, n + 1, 1):
t.circle(r * i)
输出 :
螺旋圈
螺旋是一种类似于圆形的形状,只是螺旋的半径在每完成一圈后逐渐增加。
例子:
Python3
# Python program to demonstrate
# spiral circle drawing
import turtle
t = turtle.Turtle()
# taking radius of initial radius
r = 10
# Loop for printing spiral circle
for i in range(100):
t.circle(r + i, 45)
输出 :
同心圆
同心一词用于一组具有共同点的事物。现在具有相同中心的圆称为同心圆。
Python3
# Python program to demonstrate
# concentric circle drawing
import turtle
t = turtle.Turtle()
# radius of the circle
r = 10
# Loop for printing concentric circles
for i in range(50):
t.circle(r * i)
t.up()
t.sety((r * i)*(-1))
t.down()
输出 :