Python绘制圆形方法及turtle模块详解

 更新时间:2023年12月12日 08:59:48   作者:红目香薰  
这篇文章主要给大家介绍了关于Python绘制圆形方法及turtle模块详解的相关资料,Turtle库是Python语言中一个很流行的绘制图像的函数库,文中介绍的非常详细,需要的朋友可以参考下

方法一生成圆: 

方法二生成圆:

这里我们使用的是【matplotlib】生成的,但是我用的是中文的title,故而里需要单独加上两句话:

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

有了这两句话,我们在显示的时候就能正常的显示在面板上了。 

我们使用axis('equal')可以是轴向的x轴与y轴都相等,这样才能画出一个更好的圆。

axis('equal')

下面是我们以r=2作为半径,a,b=(0.,0.)为圆心坐标的方式进行圆的绘制,我这里使用了两种方法进行计算,相对来说难度都不大,但是一个是使用con与sin进行绘制的,另外的第二个使用的是sqrt开根号的方式进行绘制的,过程中我们要注意所有的变量都是浮点数,如果只进行整数计算在单位坐标内是很难绘制出来一个比较好看圆的。

import numpy as np
import matplotlib.pyplot as plt
 
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
# ==========================================
# 圆的基本信息
# 1.圆半径
r = 2.0
# 2.圆心坐标
a, b = (0., 0.)
# ==========================================
# 方法一:参数方程
theta = np.arange(0, 2 * np.pi, 0.01)
x = a + r * np.cos(theta)
y = b + r * np.sin(theta)
fig = plt.figure()
axes = fig.add_subplot(111)
axes.plot(x, y)
axes.axis('equal')
plt.title('圆形绘制1')
# ==========================================
# 方法二:标准方程
x = np.arange(a - r, a + r, 0.01)
y = b + np.sqrt(r ** 2 - (x - a) ** 2)
fig = plt.figure()
axes = fig.add_subplot(111)
axes.plot(x, y)  # 上半部
axes.plot(x, -y)  # 下半部
plt.axis('equal')
plt.title('圆形绘制2')
# ==========================================
plt.show()

其实最简单的圆还得看下面这个:这里我们使用的是turtle,直接利用自身所带的函数color设置颜色,circle就是设置圆的半径,最后显示就行。很痛快的。

import turtle
turtle.color('red')
turtle.circle(120)
turtle.done()

这个圆是相当于手绘的过程。效果还是很好的。 

Python画图之turtle模块:

在中国电子学会组织的“全国青少年软件编程等级考试”Python一级考纲里要求考生知道turtle库的功能,知道如何导入该库文件,掌握它的使用方法:前进、后退、左右转、提落笔、画点、画圆等。

turtle,中文是海龟,所以我们有时也称叫海龟作图。

turtle模块绘图思路

  • 首先导入turtle模块;
  • 起始默认位置被设定在(0,0)处,即窗口的中心(起始位置可以设置),且绘制方向是从左往右;
  • turtle模块是模拟用笔绘制图形的,默认笔是向下的(turtle.pendown()),好像笔尖放在纸上一样;
  • 开始画图时,设置笔向下,按照要求移动绘制图形。
  • 绘制结束,将笔抬起turtle.penup()

附:绘制同心圆的代码

import turtle

#以坐标为(0,10)为共同的圆心
turtle.color('red')
turtle.circle(10)

turtle.penup()
turtle.goto(0,-30)
turtle.down()
turtle.color('green')
turtle.circle(40)

turtle.penup()
turtle.goto(0,-70)
turtle.down()
turtle.color('blue')
turtle.circle(80)

turtle.penup()
turtle.goto(0,-170)
turtle.down()
turtle.color('black')
turtle.circle(180)

turtle.done()
'''
import turtle

    #这里使用了列表来存放圆的颜色和半径
    #这里使用turtle.goto(x,y)让画笔移动,从而达到实现同心圆的绘制
    #以坐标为(0,0)为共同的圆心

color = ['red','green','blue','black']#存放圆的颜色
r = [10,40,80,160]#存放圆的半径
for i in range(4):
    turtle.penup()
    turtle.goto(0, -r[i])
    turtle.pendown()
    turtle.pencolor(color[i])
    turtle.circle(r[i])

turtle.done()

'''

总结

到此这篇关于Python绘制圆形方法及turtle模块的文章就介绍到这了,更多相关Python绘制圆形内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Django模板过滤器和继承示例详解

    Django模板过滤器和继承示例详解

    初入python和django做项目,遇到很多前端页面代码冗余的情况,特别是头部和脚部,代码都是一样的,所以下面这篇文章主要给大家介绍了关于Django模板过滤器和继承的相关资料,需要的朋友可以参考下
    2021-11-11
  • Python实现删除windows下的长路径文件

    Python实现删除windows下的长路径文件

    这篇文章主要为大家详细介绍一下如何利用Python语言实现删除windows下的长路径文件功能,文中的示例代码讲解详细,具有一定参考借鉴价值,感兴趣的可以了解一下
    2022-07-07
  • 利用Seaborn绘制20个精美的pairplot图

    利用Seaborn绘制20个精美的pairplot图

    本文记录的使用seaborn绘制pairplot图,主要是用来显示两两变量之间的关系(线性或非线性,有无较为明显的相关关系等),感兴趣的可以了解一下
    2022-07-07
  • Python matplotlib 动画绘制详情

    Python matplotlib 动画绘制详情

    这篇文章主要介绍了Python matplotlib 动画绘制,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • python 字符串只保留汉字的方法

    python 字符串只保留汉字的方法

    今天小编就为大家分享一篇python 字符串只保留汉字的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python实战之制作天气查询软件

    Python实战之制作天气查询软件

    这篇文章主要给大家介绍了关于Python实战之制作天气查询软件的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • pyqt5自定义信号实例解析

    pyqt5自定义信号实例解析

    这篇文章主要介绍了pyqt5自定义信号实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 详解PyQt5中Thread多线程的使用

    详解PyQt5中Thread多线程的使用

    QThread是Qt线程类中最核心的底层类,这篇文章主要为大家介绍了PyQt5中Thread多线程的具体使用,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-08-08
  • Opencv+Python 色彩通道拆分及合并的示例

    Opencv+Python 色彩通道拆分及合并的示例

    今天小编就为大家分享一篇Opencv+Python 色彩通道拆分及合并的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python实现AI自动玩俄罗斯方块游戏

    Python实现AI自动玩俄罗斯方块游戏

    提到《俄罗斯方块》,那真是几乎无人不知无人不晓。其历史之悠久,可玩性之持久,能手轻轻一挥,吊打一大波游戏。本文将利用Python实现俄罗斯方块进阶版—AI自动玩俄罗斯方块,感兴趣的可以学习一下
    2022-03-03

最新评论