在用turtle.circle()绘图时总是不是想要的结果,结果查看了一下python官方文档的turtle库函数说明,当中的解释中有提到半径可以为负的情况,于是动手测试了一番。
turtle.circle()在python官方文档中给出的说明是:
turtle.circle(radius, extent=None, steps=None)
参数
radius – 一个数值
extent – 一个数值 (或 None)
steps – 一个整型数 (或 None)
绘制一个 radius 指定半径的圆。圆心在海龟左边 radius 个单位;extent 为一个夹角,用来决定绘制圆的一部分。如未指定 extent*则绘制整个圆。如果 *extent 不是完整圆周,则以当前画笔位置为一个端点绘制圆弧。如果 radius 为正值则朝逆时针方向绘制圆弧,否则朝顺时针方向。最终海龟的朝向会依据 extent 的值而改变。
圆实际是以其内切正多边形来近似表示的,其边的数量由 steps 指定。如果未指定边数则会自动确定。此方法也可用来绘制正多边形。
……
注意,在测试后发现turtle.mode()对结果影响很大,这里先给出默认为非logo模式时的结果:
Turtle.cirlce()函数的参数测试代码
# -*- coding: utf-8 -*-
# @Time : 2019/12/6 15:08
# @Author : River.big
import turtle as t
"""
主要测试和circle函数的使用,了解不同方向时半径和弧度值的正负对结果的影响
不使用logo模式时:
"""
#下面这个对结果影响很大,不用时默认是"standard"# 朝右 (东)# 逆时针
# t.mode("logo") ## "logo" # 朝上 (北) # 顺时针
t.hideturtle() #隐藏海龟光标
t.dot(5) #绘制一个指定直径和颜色的圆点
t.fd(200) #向前200
t.home() #回到起始点 (角度也会恢复为初始状态的方向)
# t.fd(-200)
# t.home()
t.seth(180) # 转到+180度 (绝对角度)向左
t.fd(200)
t.home()
t.seth(-90) # 转到-90度 (绝对角度)向下
t.fd(200)
t.home()
t.seth(90) # 转到+90度 (绝对角度)向上
t.fd(200)
t.home()
# 测试trutle.circle()函数
#circle函数参数:半径和弧度 ,
# 半径为正(负),表示圆心在画笔的左边(右边)画圆
# t.color("black") #默认就是黑色
t.pensize(15)
# 初始方向是向右-->
t.circle(100, 90) #半径和弧度 , 逆时针(第一象限) 圆心在上方
t.home()
t.circle(