python求球的表面积_python中计算体积或表面积的好算法
一种选择是使用VTK。(我将在这里使用tvtkpython绑定…)
至少在某些情况下,获得等值面内的面积会更精确一些。在
同样,对于表面积,tvtk.MassProperties也计算表面积。它是mass.surface_area(下面的代码中有mass对象)。在import numpy as np
from tvtk.api import tvtk
def main():
# Generate some data with anisotropic cells...
# x,y,and z will range from -2 to 2, but with a
# different (20, 15, and 5 for x, y, and z) number of steps
x,y,z = np.mgrid[-2:2:20j, -2:2:15j, -2:2:5j]
r = np.sqrt(x**2 + y**2 + z**2)
dx, dy, dz = [np.diff(it, axis=a)[0,0,0] for it, a in zip((x,y,z),(0,1,2))]
# Your actual data is a binary (logical) array
max_radius = 1.5
data = (r <= max_radius).astype(np.int8)
ideal_volume = 4.0 / 3 * max_radius**3 * np.pi
coarse_volume = data.sum() * dx * dy * dz
est_volume = vtk_volume(data, (dx, dy, dz), (x.min(), y.min(), z.min()))
coarse_error = 100 * (coarse_volume - ideal_volume) / ideal_volume
vtk_error = 100 * (est_volume - ideal_volume) / ideal_volume
print 'Ideal volume', ideal_volume
print 'Coarse approximation', coarse_volume, 'Error', coarse_error, '%'
print 'VTK approximation', est_volume, 'Error', vtk_error, '%'
def vtk_volume(data, spacing=(1,1,1), origin=(0,0,0)):
data[data == 0] = -1
grid = tvtk.ImageData(spacing=spacing, origin=origin)
grid.point_data.scalars = data.T.ravel() # It wants fortran order???
grid.point_data.scalars.name = 'scalars'
grid.dimensions = data.shape
iso = tvtk.ImageMarchingCubes(input=grid)
mass = tvtk.MassProperties(input=iso.output)
return mass.volume
main()
这就产生了:
^{pr2}$
python求球的表面积_python中计算体积或表面积的好算法相关推荐
- python求50的阶乘_python中求阶乘
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我如何去计算python中的一个整数的阶乘?... 写一个猜数字的游戏,预先设定 ...
- python求50的阶乘_python中的阶乘
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我如何去计算python中的一个整数的阶乘?... 问题描述 阶乘是我们在很多的 ...
- python求奇数的乘积_Python中的推导式使用详解
推导式是Python中很强大的.很受欢迎的特性,具有语言简洁,速度快等优点.推导式包括: 1.列表推导式 2.字典推导式 3.集合推导式 嵌套列表推导式 NOTE: 字典和集合推导是最近才加入到Pyt ...
- python求平方根的小数_python中的数字和数学运算
计算机最先被发明的目的是帮助人类进行科学计算的,计算机非常善于记住数值,也非常善于执行计算(加.减法等).计算机每秒钟能执行10亿次计算,这比我们自己用大脑计算数字要快很多.尽管在某些任务上我们比计算 ...
- python求列表的中位数_python中获取中位数的两种方法
普通方法: 对列表进行排序,然后根据长度为奇数或者偶数的不同情况计算中位数 def huahua(x): length = len(x) print(length) x.sort() print(x) ...
- python求级数的值_python中的级数和
对于内建,可以使用zip将位于同一索引位置的元素组合在一起list1 = [2,3,4] list2 = [3,3,3] result = sum( x*y for x,y in zip(list1, ...
- python求数列数量积_python中矩阵运算(乘法和数量积)
# ============================================================================= python中矩阵运算分为两种形式,一是 ...
- python求f的倒数_Python中整数的倒数
给定一个32位有符号整数,整数的倒数.在 示例1: 输入:123 产量:321 例2: 输入:-123 输出:-321 例3: 输入:120 输出:21 假设我们处理的环境只能存储32位有符号整数范围 ...
- 用python求三角形周长文件_Python中最大的周长三角形
假设我们有一个正长度的数组A,我们必须找到面积为非零的三角形的最大周长,该三角形由这些长度中的3个组成.当不可能形成任何非零区域的三角形时,则返回0. 因此,如果输入类似于[3,6,2,3],则输出将 ...
- python求表面积代码_用于计算python中的体积或表面积的良好算法
我正在尝试计算3D numpy数组的体积(或表面积).在许多情况下,体素是各向异性的,并且我在每个方向上具有像素到厘米的转换因子. 有没有人知道找到工具包或包来做上述的好地方? 现在,我有一些内部代码 ...
最新文章
- Android之Android实现浮层的上下滑动(支持内部添加View)
- github上面图片不显示
- 【C# interface接口】对接口的理解、接口的使用方式(最通俗的解释)
- Linux 出现Permission denied的解决办法
- PGer看过来!亚洲最大的PG技术盛会重磅来袭!墨天轮全球同步直播!
- flash人物原地走路,Flash制作小人走路简单动画图文教程
- 小林求职记(四)不会吧不会吧,面试还真会问这些呀
- QList、QVector、QMap容器类
- java中try中的语句执行吗_Java异常try里面有return,finally代码会执行吗
- 学生用计算机怎么乘跟跟号号,3根号键的啊函数计算器价格多少,它与普通计 – 手机爱问...
- MDP马尔可夫决策过程
- html文档用什么浏览器打开,用什么打开HTML文件?
- 工业交换机在智能交通电子警察系统解决方案的应用
- poi word表格系列操作
- Linux下用火焰图进行性能分析
- 截图工具因为计算机无法使用,win7系统电脑自带截图工具不能用失灵了的解决方法...
- 超实用的几个编程学习公众号
- SAP 生产订单/工单状态说明
- 高仿网易云音乐一(可扫描本地音乐播放)
- ndarray 与 array 的区别 关系
热门文章
- Hadoop实战第2版 - 电子书下载(高清版PDF格式+EPUB格式)
- 齐齐哈尔大学计算机调剂,齐齐哈尔大学2020年硕士研究生调剂信息
- 金彩教育:详情页文案怎么写
- delphi xe10 android x86,盒子 - 完整版DELPHI XE10.1移动开发框架 绝对可以使用
- Linear-gradient()
- 你是如何看待saas行业
- python爬虫网页图片显示不出来_网页爬虫 - python下载的图片不显示,无法查看
- 【C/C++】共用体(union)
- 我是这样手写 Spring 的(麻雀虽小五脏俱全)
- 22 个最常用的 Python 包