当前位置: 首页 > news >正文

重庆市建设信息网站郑州艾特网站建设公司

重庆市建设信息网站,郑州艾特网站建设公司,wordpress绕绕,网络营销哪些公司好做呢文章目录顶点棱实现正二十面体plotly 的 Python 软件包是一个开源的代码库#xff0c;它基于 plot.js#xff0c;而后者基于 d3.js。我们实际使用的则是一个对 plotly 进行封装的库#xff0c;名叫 cufflinks#xff0c;能让你更方便地使用 plotly 和 Pandas 数据表协同工作… 文章目录顶点棱实现正二十面体plotly 的 Python 软件包是一个开源的代码库它基于 plot.js而后者基于 d3.js。我们实际使用的则是一个对 plotly 进行封装的库名叫 cufflinks能让你更方便地使用 plotly 和 Pandas 数据表协同工作。 一言以蔽之plotly是一款擅长交互的Python绘图库下面就初步使用一下这个库的三维绘图功能。此前曾经用matplotlib画了正二十面体和足球Python绘制正二十面体画足球这次用plotly复现一下正二十面体的绘制过程也体验一下这两个绘图包的差异。 来绘制一个正二十面体。 顶点 正20面体的12个顶点刚好可以分为三组每一组都是一个符合黄金分割比例的长方形而且这三个长方形是互相正交的。 所以想绘制一个正二十面体是比较容易的 import plotly import plotly.express as px import numpy as np from itertools import product G (np.sqrt(5)-1)/2 def getVertex():pt2 [(a,b) for a,b in product([1,-1], [G, -G])]pts [(a,b,0) for a,b in pt2]pts [(0,a,b) for a,b in pt2]pts [(b,0,a) for a,b in pt2]return np.array(pts)xs, ys, zs getVertex().Tfig px.scatter_3d(xxs, yys, zzs, sizenp.ones_like(xs)*0.5) fig.show()得到顶点 棱 接下来连接这12个顶点由于点数较少所以直接遍历也不至于运算量爆炸。另一方面正二十面体边长相同而这些相同的边连接的也必然是最近的点所以接下来只需建立顶点之间的距离矩阵并抽取出距离最短的线。 def getDisMat(pts):N len(pts)dMat np.ones([N,N])*np.inffor i in range(N):for j in range(i):dMat[i,j] np.linalg.norm([pts[i]-pts[j]])return dMatpts getVertex() dMat getDisMat(pts) # 由于存在舍入误差所以得到的边的数值可能不唯一 ix, jx np.where((dMat-np.min(dMat))0.01)接下来绘制正二十面体的棱 edges [] for k in range(len(ix)):edges.append(pts[ix[k]].tolist() [k])edges.append(pts[jx[k]].tolist() [k])edges np.array(edges)fig px.line_3d(edges, x0, y1, z2, color3) fig.show()效果如图所示 实现正二十面体 接下来要对面上色。由于三棱成个面所以只需得到所有三条棱的组合只要这三条棱可以组成三角形就能获取所有的三角面。当然这一切的前提是正二十面体只有30个棱即使遍历多次也无非27k的计算量是完全没问题的。 def isFace(e1, e2, e3):pts np.vstack([e1, e2, e3])pts np.unique(pts, axis0)return len(pts)3edges [pts[[i,j]] for i,j in zip(ix, jx)] from itertools import combinations faces [es for es in combinations(edges, 3) if isFace(*es)]最后得到的faces有20个元素每个元素由3条棱组成每条棱有两个顶点故而可以缩减为三个顶点。 ptFace [np.unique(np.vstack(f),axis0) for f in faces] ptFace np.vstack(ptFace) 接下来绘制一下plotly绘制三角面的逻辑是除了需要指定三角面的三个坐标之外还需指定三角面的顶点序号 import plotly.figure_factory as ff simplices np.arange(len(ptFace)).reshape(-1,3) fig ff.create_trisurf(xptFace[:,0], yptFace[:,1], zptFace[:,2],simplicessimplices) fig.show()效果如下
http://www.w-s-a.com/news/296257/

相关文章:

  • 建设银行如何网站设置密码广州网站营销推广
  • 企业做网站的步骤与做网站注意事项四川省住房建设厅网站打不开
  • 网页设计网站规划报告百度文库官网登录入口
  • 郑州医疗网站开发wordpress能注册
  • 创建网站的英语石家庄微信网站建设
  • 分享几个x站好用的关键词微信商城小程序开发一般需要多少钱
  • 做韩国外贸网站wordpress手机版中文
  • 建站群赚钱有前途吗蚌埠北京网站建设
  • 北京网站建设求职简历十堰seo优化教程
  • 网站顶部可关闭广告微信小程序多少钱
  • 网站背景怎么弄斜杠青年seo工作室
  • ps个人网站首页怎么制作如何做网站的版块规划
  • 做网站的市场开源建站工具
  • 邹平做网站哪家好自动点击器app
  • 南阳seo网站排名优化wordpress文章对游客不显示
  • 网站301什么意思湛江市seo网站设计报价
  • 免费建造网站化妆品网络营销方案
  • 建公司网站wordpress the content
  • 网站的站点的管理系统建设银行网站注册企业
  • 长春火车站是哪个站做微商哪个网站有客源
  • 亚马逊培训费用一般多少seo专业培训课程
  • 做推文封面图网站南宁高端网站建设
  • 天津网站搜索排名做电影免费ppt模板下载网站
  • 襄樊最好网站建设价格网站建设与设计 毕业设计
  • 网站推广广告词大全集网站建设相对路径
  • 甘肃省铁路投资建设集团有限公司网站域名怎么实名认证
  • 企业网站建设的层次返利网站建设
  • 竞价单页网站制作中小企业网站建设问题
  • 响应式网站源码学校网站制作多少钱
  • 营销型网站建设需要懂什么网站建站四件套是什么