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绘制圆形内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中sorted()函数的强大排序技术实例探索

    Python中sorted()函数的强大排序技术实例探索

    排序在编程中是一个基本且重要的操作,而Python的sorted()函数则为我们提供了强大的排序能力,在本篇文章中,我们将深入研究不同排序算法、sorted() 函数的灵活性,以及各种排序场景下的最佳实践
    2024-01-01
  • 利用Python实现Shp格式向GeoJSON的转换方法

    利用Python实现Shp格式向GeoJSON的转换方法

    JSON(JavaScript Object Nonation)是利用键值对+嵌套来表示数据的一种格式,以其轻量、易解析的优点,这篇文章主要介绍了利用Python实现Shp格式向GeoJSON的转换,需要的朋友可以参考下
    2019-07-07
  • 详解NumPy中的线性关系与数据修剪压缩

    详解NumPy中的线性关系与数据修剪压缩

    本文将通过股票均线计算的案例来为大家讲解一下NumPy中的线性关系以及数据修剪压缩的实现,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-05-05
  • keras读取训练好的模型参数并把参数赋值给其它模型详解

    keras读取训练好的模型参数并把参数赋值给其它模型详解

    这篇文章主要介绍了keras读取训练好的模型参数并把参数赋值给其它模型详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python类:class创建、数据方法属性及访问控制详解

    python类:class创建、数据方法属性及访问控制详解

    下面小编就为大家带来一篇python类:class创建、数据方法属性及访问控制详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 浅谈Django+Gunicorn+Nginx部署之路

    浅谈Django+Gunicorn+Nginx部署之路

    这篇文章主要介绍了Django+Gunicorn+Nginx部署之路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • pygame实现井字棋之第二步逻辑实现

    pygame实现井字棋之第二步逻辑实现

    这篇文章主要介绍了pygame实现井字棋之第二步逻辑实现,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • pytorch实现mnist数据集的图像可视化及保存

    pytorch实现mnist数据集的图像可视化及保存

    今天小编就为大家分享一篇pytorch实现mnist数据集的图像可视化及保存,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python如何进入交互模式

    python如何进入交互模式

    在本篇内容中小编给大家分享了关于python进入交互模式的方法,对此有需要的朋友们可以跟着学习下。
    2020-07-07
  • Python小知识之几种推导式用法示例

    Python小知识之几种推导式用法示例

    Python推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体,下面这篇文章主要给大家介绍了关于Python小知识之几种推导式用法的相关资料,需要的朋友可以参考下
    2023-01-01

最新评论