python计算球坐标系的积分_Python实现将n个点均匀地分布在球面上的方法
将10000左右个点均匀地分布在一个球面上。所谓的均匀,即相邻的两个点之间的距离尽量一致。
算法是用基于正多面体剖分球面,选的是正八面体。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import math
class Spherical(object):
'''球坐标系'''
def __init__(self, radial = 1.0, polar = 0.0, azimuthal = 0.0):
self.radial = radial
self.polar = polar
self.azimuthal = azimuthal
def toCartesian(self):
'''转直角坐标系'''
r = math.sin(self.azimuthal) * self.radial
x = math.cos(self.polar) * r
y = math.sin(self.polar) * r
z = math.cos(self.azimuthal) * self.radial
return x, y, z
def splot(limit):
s = Spherical()
n = int(math.ceil(math.sqrt((limit - 2) / 4)))
azimuthal = 0.5 * math.pi / n
for a in range(-n, n + 1):
s.polar = 0
size = (n - abs(a)) * 4 or 1
polar = 2 * math.pi / size
for i in range(size):
yield s.toCartesian()
s.polar += polar
s.azimuthal += azimuthal
for point in splot(input('')):
print("%f %f %f" % point)
python计算球坐标系的积分_Python实现将n个点均匀地分布在球面上的方法相关推荐
- python计算球坐标系的积分_python – n球面坐标系到笛卡尔坐标系
您可以通过记忆中间产品来加速您的原始代码,即 def ct_dynamic(r,alpha): """alpha: the n-2 values between [0,2 ...
- python计算结果向上取整_python中的向上取整向下取整以及四舍五入的方法
import math #向上取整 print "math.ceil---" print "math.ceil(2.3) => ", math.ceil( ...
- python计算球的体积的函数设计
python计算球的体积的函数设计思路 首先:要先了解球的体积是如何计算的,据资料,V球 = 4πr³ / 3: 其次:π在python中可以用math标准库中的pi属性来获取: 第三:3次方,可以通 ...
- chatgpt赋能python:如何用Python计算球的表面积和体积
如何用Python计算球的表面积和体积 球体是数学中的常见图形,计算球的表面积和体积是科学研究和应用中的重要问题.Python作为一种高效.易学.广泛使用的编程语言,可以很方便地用于计算球的表面积和体 ...
- python计算坐标点欧式距离_Python计算一个点到所有点的欧式距离实现方法
Python计算一个点到所有点的欧式距离实现方法 如下所示: distances = np.sqrt(np.sum(np.asarray(airportPosition - x_vals)**2, a ...
- python计算sinx近似值的程序_python编程计算sinx-女性时尚流行美容健康娱乐mv-ida网...
女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页 > 高级搜索 python 字符串,数值 计 ...
- python计算平方用map函数_python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)...
1.用我们之前学过的求一下平方(只有一个列表) #求平方 num=[1,5,6,2,7,8] a=[]for n innum: a.append(n**2)print(a) C:python35pyt ...
- python计算最大公约数和最小公倍数_python怎么求最大公约数和最小公倍数
python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和 ...
- python计算数组元素的和_python中数组的运算
Python中进行数组的运算需要调用NumPy包. 其官网是:http://www.numpy.org/www.numpy.org NumPy是Python语言的一个扩充程序库.它支持高级大量的维度 ...
最新文章
- 【资源】Faster R-CNN原理及代码讲解电子书
- 万字长文,一文搞懂TCP/IP和HTTP、HTTPS
- yellow weasel
- gRPC的通信方式-客户端流式、服务端流式、双向流式在Java的调用示例
- ​【文末有福利】股票跨度——真实世界的算法
- mix2s android p功能,已升安卓P!网友:MIX2S才是亲儿子
- 1900-01-01t00:00:00+08:00 java_日期格式转换 java 2016-09-03T00:00:00.000+08:00
- 为全力发展AIOT,小米把松果电子分拆重组了
- 数据库 之 Mysql的表分区
- 决策树C4.5算法对ID3算法的改进
- 修改jar包中的配置文件
- ConstraintLayout约束布局
- 两种求矩阵伪逆的方法
- vue中的Actions
- emacs下使用google-cpplint
- 0016 c/c++语言 二进制转换为十进制
- 【SQL】SQL如何使0值升序排序时排最后
- jsp 按照学号查找学生_jsp+mysql添加查询代码,并把查询结果返回当前页面,可以按学号,姓名或成绩查询...
- 为何网易以贵金属交易切入互联网金融,出奇制胜?
- 修改服务器2003系统时间,windows2003 时间服务器ntp配置
热门文章
- 五个月的时间视力从0.4-1.2,她究竟用了什么“好方法”?
- ATU中TD-SCDMA参数中英文解释
- mock模拟导致测试失败的解决方法
- 【小程序】如何获取微信小程序代码上传密钥?
- 心血管疾病的三大危险因素
- iTextSharp - 利用列进行排版
- 热爆NFT“MetaBunny”公开发售后飙升近35倍 首轮公开发售达1,000枚后结束
- 从零开始学习cocoStudio(8)--商城
- 皮一皮:戒网瘾专用手机...
- 物联网运维-前端设备运维管理设计及解决方案