python二维转三维_平时都用Python绘制二维图,如果用来绘制三维图会有什么效果?...
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
欢迎关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。
通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的:
这些图怎么做出来呢?今天就来分享下如何一步步绘制出三维矢量(SVG)图。
八面体
我们先以下面这个八面体为例。
1 安装相关包
首先安装两个必备包:
import pyrr # NumPy 的 3D 函数库
import svgwrite # svg图形处理库
2 定义 3D 图生成环境
接下来定义几个类设置好 3 维图基础环境:
viewport :矩形图范围
camera:包括视图矩阵和投影矩阵
mesh:svg 矢量图所需的网格表面矩阵、着色器和样式字典
3 生成八面体数据
然后生成八面体每个定点的数据:
def octahedron():
"""Construct an eight-sided polyhedron"""
f = sqrt(2.0) / 2.0
verts = numpy.float32([ ( 0, -1, 0), (-f, 0, f), ( f, 0, f), ( f, 0, -f), (-f, 0, -f), ( 0, 1, 0) ])
triangles = numpy.int32([ (0, 2, 1), (0, 3, 2), (0, 4, 3), (0, 1, 4), (5, 1, 2), (5, 2, 3), (5, 3, 4), (5, 4, 1) ])
return verts[triangles]
4 pyrr 包渲染
接下来利用 pyrr 3维库渲染上面的原始数据,最后生成 svg 矢量图。
5 生成 svg
上面最后一步生成 svg 图形,需要调用下面的 Engine 函数,略微有些复杂:
以上代码全部封装到类中调用,就可以生成八面体图形了。
除了八面体还可以生成很多其他图形。
球体和 Klein 瓶
代码如下:
多面球体
代码如下:
发光的球体
代码实现:
还可以绘制这种曲面体
代码实现如下:
python二维转三维_平时都用Python绘制二维图,如果用来绘制三维图会有什么效果?...相关推荐
- python可以引流吗_你都用 Python 来做什么?
不是搞科研的,工作用Java开发的,Python一般用来做一些辅助性的运维.分析.自动化工作. 个人生活自动化win-lockfetch 用Win 10的同学都知道Win10有一套自动更新的锁屏壁纸. ...
- 底层用python、前台用什么_你都用 Python 来做什么?
拿来了解女朋友情绪变化,顺道自动回复. 6.14号更新:接入图灵机器人,可以自动回复的版本加入图灵机器人的版本来了七月在线:"对不起,分手吧,我爱上了你做的聊天机器人."zhua ...
- python国内书籍推荐_这些都是Python官方推荐的最好的书籍
转行学Python有前途吗?这个答案是肯定的,AI课程都已经进入小学教材了,未来Python趋势无疑是光明的,但是如何学习Python,很多Python小白都来问小编有什么适合的Python入门书籍推 ...
- 以下哪个不是python财经数据接口工具_这7种Python的全新玩法,大部分人都不知道!...
Python第三方模块众多,下面我介绍一些比较实用而又有趣的模块,主要分为爬虫.数据处理.可视化.机器学习.神经网络.股票财经.游戏这7个方面,主要内容如下: 创一个小群,供大家学习交流聊天 如果有对 ...
- 二维数组 类型_「初识C语言」二维数组
一维数组只有一个下标,称为一维数组,其数组元素也称为单下标变量.在实际问题中有很多量是二维的或多维的,因此C语言允许构造多维数组.多维数组元素有多个下标,以标识它在数组中的位置,所以也称为多下标变量. ...
- 只安装python能干什么_你都用 Python 来做什么?
人在美国,刚下飞机,这个问题要先拉一拉时间轴2016年第一次接触 python,做的是自动化测试 2017年开始自学 python,做的是投票网页开发 2018年正式接触 python,做的是WAF机 ...
- python能帮我们实现什么用_你都用 Python 来做什么?
「除了生孩子,Python 啥都能做!!!」这句话最近实在是有些火啊,难道 Python 就真的这么强吗?当然,不信咱们可以看一下数据 这是近期 TIOBE 公布的 2019 年 10 月编程语言排行 ...
- python分类模型干嘛的_你都用 Python 来做什么?
作为计算机专业的学生,主要学习的是c++.在大二选修了python,如今过去了一年,可以说这一年里python对我来说用处颇多.下面就列举一下我学习python到现在都用它来做了什么. 1. 学pyt ...
- python高端玩法_这7种Python的全新玩法,一般人都不知道!
Python第三方模块众多,下面我介绍一些比较实用而又有趣的模块,主要分为爬虫.数据处理.可视化.机器学习.神经网络.股票财经.游戏这7个方面. 主要内容如下: 1.爬虫:相信大部分人都用Python ...
最新文章
- 利用requests库访问网站
- 独立成分分析 ( ICA ) 与主成分分析 ( PCA )再解析
- 用FTP客户端实现主机和虚拟机之间文件的传输(方法1)
- 从外部CorDapp扩展和覆盖流
- 黑苹果 电脑关机是因为发生了问题_【电脑常识】常见的电脑误区,你中了几点?...
- 新手学电脑入门教程_3Dmax难学嘛?3Dmax到底好不好学
- 【AJAX 教程】JS 原生 AJAX 请求
- 专业技术计算机应用能力考试ppt2007,全国专业技术人员计算机应用能力考试PPT题库.pdf...
- HTML5常用的文本标签及css字体样式属性
- ubuntu安装水星MW150US无线网卡8188eu驱动
- 【DB笔试面试702】在Oracle中,如何定时清理INACTIVE状态的会话?
- 全栈设计师必须拥有的Mac软件推荐
- 晶体管发明往事:误打误撞,反目成仇,共享诺贝尔奖
- 信息化和软件服务业司参加工业互联网平台与软件化发展高峰论坛
- 织梦插件-全自动SEO织梦插件
- 2023最新姆町个人自动发卡系统源码+全开源的/功能丰富UI美观
- c语言程序设计基础教程 金艳,重庆理工大-C语言程序设计基础教程_习题答案(纪纲_金艳).doc...
- 手把手带你搞懂AMS启动原理
- openwrt下载安装中文语言包(离线版)
- 用创新思维实现跨越式发展
热门文章
- 兼容ie8的rem.js在ie下没有用
- Android仿超级课程表开源控件
- 薄膜?活塞?哪种执行器推力大?
- python输入城市找省份_python爬虫学习之爬取全国各省市县级城市邮政编码
- overleaf | 参考文献的简单引用
- miui10 android版本,新年首次更新!MIUI V10.2.2稳定版基于安卓9.0来了
- 《自然》杂志:锻炼如何健脑?有望治疗老年痴呆症 | 经济学人全球早报精选
- 大厂 Framework 面试必备 HandlerBinder 面试题
- Adobe Air最新免费版
- 中文正则,Notepad++中文正则