怎么用python画简单的图-python中简单易学的绘图:用turtle画太极图
为什么想画太极图呢?因为我儿子不知道是看了哪本书还是哪个电视,竟然特地打印出一张太极图要挂在大门口,我赶紧说祖宗这挂在门外,别人看见了还以为咱家出什么事了,你喜欢就挂自己卧室门口吧,于是这张图就成了他门口的一道摆设。既然这么喜欢,咱就把它画出来,岂不玩得更高级。
闲话少说,言归正传。
要画的太极图,如下图所示:
图片发自简书App
有点编程经验的都知道,这个图形是对称图形,因此可以用一个函数实现画一半,调用两次函数即可完成整个图形的绘制。
绘制图形采用Python中的turtle库函数来实现。想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
图片发自简书App
分解这个图形,图片中有红、黄、绿、蓝四种颜色的曲线,每条曲线上的箭头代表乌龟移动的方向。首先从中心开始画一个半圆(如红线所示),然后以红线所示圆的直径作为半径画一个半圆(如黄线所示),再画一个和红线所示圆的半径一样的半圆(如绿线所示),最后画一个小圆,半径为红线所示圆半径的0.15倍(如蓝线所示),之所以选择0.15倍,是因为这样嵌入红圆内的小圆直径和红圆直径接近黄金分割,看起来比较舒服。
代码及注释如下:
#引入turtle函数库
from turtle import *
#定义画半个太极图的函数,第一个参数radius是大圆的半径,
#color1,color2分别是两种填充颜色,对应图形中的黑白填充
def draw(radius, color1,color2):
#设置画笔粗细
width(3)
#设置画笔颜色和填充颜色
color("black",color1)
#准备开始填充图形
begin_fill()
#首先画一个半径为radius/2,弧度为180的半圆,画的是红线所示半圆
circle(radius/2,180)
#画一个半径为radius,弧度为180的半圆,画的是黄线所示半圆
circle(radius,180)
#将画笔方向旋转180度
left(180)
#画一个半径为radius/2,弧度为180的半圆,此时半径值为负,
#圆心在画笔的右边,画的是绿线所示半圆
circle(-radius/2,180)
#结束填充
end_fill()
#画笔向左旋转90度,正好指向画板上方
left(90)
#抬起画笔,再运动时不会留下痕迹
up()
#向前移动radius*0.35,这样小圆边线距离大圆边线上下各radius*0.35,
#小圆的半径就为radius*0.15
forward(radius*0.35)
#画笔向右旋转90度,指向画板右侧
right(90)
#放下画笔
down()
color(color2,color2)
#开始画内嵌小圆,如蓝线所示
begin_fill()
circle(radius*0.15)
end_fill()
#旋转画笔90度,指向画板上方
left(90)
up()
#后退radius*0.35
backward(radius*0.35)
down()
#旋转画笔90度,指向画板左方
left(90)
#定义主函数
def main():
#设置窗口或者画板大小
setup(500,500)
#绘制黑色一半,白色内圆
draw(200,"black","white")
#绘制白色一半,黑色内圆
draw(200,"white","black")
#隐藏画笔
ht()
main()
怎么用python画简单的图-python中简单易学的绘图:用turtle画太极图相关推荐
- python画简便的图-python中简单易学的绘图:用turtle画太极图
为什么想画太极图呢?因为我儿子不知道是看了哪本书还是哪个电视,竟然特地打印出一张太极图要挂在大门口,我赶紧说祖宗这挂在门外,别人看见了还以为咱家出什么事了,你喜欢就挂自己卧室门口吧,于是这张图就成了他 ...
- 怎么用python画简单的图-Python | 用matplotlib画些简单的图
环境是python3.7,工具使用的是jupyter-notebook交互式笔记本 引入相关库 from pandas import DataFrame,Series import matplotli ...
- python 画三维函数图-Python画三维图-----插值平滑数据
一.二维的插值方法: 原始数据(x,y) 先对横坐标x进行扩充数据量,采用linspace.[如下面例子,由7个值扩充到300个] 采用scipy.interpolate中的spline来对纵坐标数据 ...
- python画50个图-Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢?
Python绘制六种可视化图表详解,三维图最炫酷!你觉得呢? 可视化图表,有相当多种,但常见的也就下面几种,其他比较复杂一点,大都也是基于如下几种进行组合,变换出来的.对于初学者来说,很容易被这官网上 ...
- python画50个图-python绘制多个子图的实例
python绘制多个子图的实例 绘制八个子图 import matplotlib.pyplot as plt fig = plt.figure() shape=['.','o','v','>', ...
- python画相关系数矩阵图_pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))...
//2019.07.23 1.箱形图,又称为盒式图,一般可以很好地反映出数据分布的特征,也可以进行多项数据之间分布特征的比较,它主要包含五个基础数据:中位数,两个上下分位数以及上下边缘线数据 其中的一 ...
- python画图程序有图-python画图程序
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 今天做的是用python实现画图,画出你想要的图案,只要你的想象力足够丰富,以及 ...
- python大量数据折线图-Python数据可视化练习:各种折线图的用法
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于python数据分析之禅 ,作者鸟哥 折线图是排列在工作表的列或行 ...
- python绘制三维曲面图-Python中使用Matplotlib绘制3D图形示例
原标题:Python中使用Matplotlib绘制3D图形示例 3D图形能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的3D绘图工具.3D图形在数据分析.数据建模. ...
最新文章
- Call to undefined function mysql_connect()
- 什么是T4级数据中心
- linux查看局域网ip的脚本,检测网段IP使用情况的shell脚本
- 数据持化技术的发展演变(SQL、JDBC、mybatis)
- 如何查看服务器文件进程,如何查看服务器上的所有进程
- tableview cell自适应撑高
- Ubuntu各个版本国内源
- 23.卷1(套接字联网API)---高级SCTP套接字编程
- 网易邮箱服务器怎么注册,免费网易域名邮箱申请教程
- 微信小程序实现图片翻转效果
- 如何使用Google TV设置Chromecast
- 青龙面板2.8版本+Ninja 保姆级 服务器安装jd代挂教程——(一)
- Mac下的maven配置
- sphinx在windows下的简单安装与使用
- qq邮箱服务器连接错误代码,qq邮箱错误代码103打不开是怎么回事
- 2016年全国高中数学联赛加试T1解答
- Mysterious Organization
- Python量化入门(1)- 开发环境的准备
- The Innovation | 粪菌移植治疗肥胖,如何突破瓶颈?
- win7 vs2013 编译错误