Python——绘制圆形
Posted 红目香薰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python——绘制圆形相关的知识,希望对你有一定的参考价值。
方法一生成圆:
方法2生成圆:
这里我们使用的是【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()
以上是关于Python——绘制圆形的主要内容,如果未能解决你的问题,请参考以下文章
使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果
python 绘制一组补丁(圆形,椭圆形,矩形),类似于“plt.scatter”,但补丁的大小是数据单位。
python画四个圆 青少年编程电子学会python编程等级考试一级真题解析2021-12