Python绘制玫瑰花

2023-10-25 01:28
文章标签 python 绘制 玫瑰花

本文主要是介绍Python绘制玫瑰花,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

程序员的节日到了,给各位程序员花一朵玫瑰吧。

from matplotlib import cm
import matplotlib.pyplot as plt
import numpy as npfig = plt.figure()
ax = fig.add_subplot(projection='3d')
[x, t] = np.meshgrid(np.array(range(25)) / 24.0, np.arange(0, 575.5, 0.5) / 575 * 17 * np.pi - 2 * np.pi)
p = (np.pi / 2) * np.exp(-t / (8 * np.pi))
u = 1 - (1 - np.mod(3.6 * t, 2 * np.pi) / np.pi) ** 4 / 2
y = 2 * (x ** 2 - x) ** 2 * np.sin(p)
r = u * (x * np.sin(p) + y * np.cos(p))
surf = ax.plot_surface(r * np.cos(t), r * np.sin(t), u * (x * np.cos(p) - y * np.sin(p)), rstride=1, cstride=1,cmap=cm.Reds_r, linewidth=0, antialiased=True)
# 自己设置文字内容和显示设置
ax.text(-0.3, 0, 1.2, 'love you ~', color='red')
plt.axis('off')
plt.show()
  • ax = fig.add_subplot(projection='3d')是用于创建一个三维坐标系的子图。在这个子图中,可以使用plot3D()函数来绘制三维图形。同时,可以使用set_xlabel()、set_ylabel()和set_zlabel()函数来设置坐标轴的标签,使用axis()函数来设置坐标轴的可见性,使用grid()函数来设置网格的可见性,使用w_xaxis、w_yaxis和w_zaxis属性来设置坐标轴的背景颜色。
  • [x, t] = np.meshgrid(np.array(range(25)) / 24.0, np.arange(0, 575.5, 0.5) / 575 * 17 * np.pi - 2 * np.pi)该函数用于生成一个二维的坐标矩阵,其中x轴和t轴的取值分别由np.array(range(25))/24.0和np.arange(0, 575.5, 0.5)/575 * 17 * np.pi - 2 * np.pi确定。其中,np.array(range(25))/24.0生成了一个长度为25的等差数列,每个元素都除以24.0,得到了0到1之间的25个数;np.arange(0, 575.5, 0.5)生成了一个从0到575.5的等差数列,步长为0.5,然后每个元素都乘以(17np.pi-2np.pi)/575,得到了一个从-2np.pi到15np.pi的数列。最终,meshgrid函数返回了两个矩阵x和t,它们的形状都是(576, 25)。
  • surf = ax.plot_surface(r * np.cos(t), r * np.sin(t), u * (x * np.cos(p) - y * np.sin(p)), rstride=1, cstride=1,cmap=cm.Reds_r, linewidth=0, antialiased=True)这是一个用于绘制三维图形的代码,其中surf是一个三维曲面对象,由r、t、u、x、y、p等参数决定。具体来说,r、t、u、x、y、p分别代表半径、角度、系数、x坐标、y坐标和旋转角度。这个代码使用了numpy库中的cos和sin函数,以及matplotlib库中的plot_surface函数和Reds_r颜色映射。其中,rstride和cstride参数分别代表行和列的步长,cmap参数代表颜色映射,linewidth参数代表线宽,antialiased参数代表是否开启抗锯齿

祝节日快乐!

参考文章

python绘制立体玫瑰花

这篇关于Python绘制玫瑰花的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/279100

相关文章

使用Python提取PDF大纲(书签)的完整指南

《使用Python提取PDF大纲(书签)的完整指南》PDF大纲(Outline)​​是PDF文档中的导航结构,通常显示在阅读器的侧边栏中,方便用户快速跳转到文档的不同部分,大纲通常以层级结构组织,包含... 目录一、PDF大纲简介二、准备工作所需工具常见安装问题三、代码实现完整代码核心功能解析四、使用效果控

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

Linux升级或者切换python版本实现方式

《Linux升级或者切换python版本实现方式》本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选... 目录升级系统python版本 (适用于全局修改)对于Ubuntu/Debian系统安装后,验证Pyt

Python实现开根号的五种方式

《Python实现开根号的五种方式》在日常数据处理、数学计算甚至算法题中,开根号是一个高频操作,但你知道吗?Python中实现开根号的方式远不止一种!本文总结了5种常用方法,感兴趣的小伙伴跟着小编一起... 目录一、为什么需要多种开根号方式?二、5种开根号方式详解方法1:数学库 math.sqrt() ——

Python lambda函数(匿名函数)、参数类型与递归全解析

《Pythonlambda函数(匿名函数)、参数类型与递归全解析》本文详解Python中lambda匿名函数、灵活参数类型和递归函数三大进阶特性,分别介绍其定义、应用场景及注意事项,助力编写简洁高效... 目录一、lambda 匿名函数:简洁的单行函数1. lambda 的定义与基本用法2. lambda

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1: