Python如何绘制三维图
发表于:2024-12-03 作者:千家信息网编辑
千家信息网最后更新 2024年12月03日,这篇文章主要介绍了Python如何绘制三维图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。通常我们用 Python 绘制的都是二维平面
千家信息网最后更新 2024年12月03日Python如何绘制三维图
这篇文章主要介绍了Python如何绘制三维图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
通常我们用 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如何绘制三维图"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
生成
八面体
八面
代码
三维
图形
篇文章
数据
球体
矢量
矩阵
接下来
函数
环境
矢量图
面的
原始
复杂
两个
价值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
确保网络安全 讲话
古交软件开发价格
惠州市云网络技术有限公司
机房服务器长啥样
广州微信软件开发报价
西安中学生网络安全
can软件开发计划详细内容
高端服务器浪潮
创建数据库表与约束
软件开发评估表怎么填写
云南网络安全教育
服务器那些防护好
sql语句查询数据库怎么写
双阳区机械网络安全
不属于微软公司的数据库软件
广发智慧软件开发部
服务器ps01报错
服务器f8安全模式
职业选手所在的服务器
网络安全与服务可信还是不可信
等待服务器返回文件超时
服务器皮肤
丰巢进销存管理软件数据库恢复
强化网络安全意识建议
软件开发各阶段文本
软件开发2019年规划
抚州个人服务器找哪家好
我的世界怎么得到小白服务器
UE4服务器管理
搭建短信服务器