将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个点均匀地分布在球面上的方法相关推荐

  1. python计算球坐标系的积分_python – n球面坐标系到笛卡尔坐标系

    您可以通过记忆中间产品来加速您的原始代码,即 def ct_dynamic(r,alpha): """alpha: the n-2 values between [0,2 ...

  2. python计算结果向上取整_python中的向上取整向下取整以及四舍五入的方法

    import math #向上取整 print "math.ceil---" print "math.ceil(2.3) => ", math.ceil( ...

  3. python计算球的体积的函数设计

    python计算球的体积的函数设计思路 首先:要先了解球的体积是如何计算的,据资料,V球 = 4πr³ / 3: 其次:π在python中可以用math标准库中的pi属性来获取: 第三:3次方,可以通 ...

  4. chatgpt赋能python:如何用Python计算球的表面积和体积

    如何用Python计算球的表面积和体积 球体是数学中的常见图形,计算球的表面积和体积是科学研究和应用中的重要问题.Python作为一种高效.易学.广泛使用的编程语言,可以很方便地用于计算球的表面积和体 ...

  5. python计算坐标点欧式距离_Python计算一个点到所有点的欧式距离实现方法

    Python计算一个点到所有点的欧式距离实现方法 如下所示: distances = np.sqrt(np.sum(np.asarray(airportPosition - x_vals)**2, a ...

  6. python计算sinx近似值的程序_python编程计算sinx-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 python 字符串,数值 计 ...

  7. python计算平方用map函数_python的map函数的使用方法详解以及使用案例(处理每个元素的自增、自减、平方等)...

    1.用我们之前学过的求一下平方(只有一个列表) #求平方 num=[1,5,6,2,7,8] a=[]for n innum: a.append(n**2)print(a) C:python35pyt ...

  8. python计算最大公约数和最小公倍数_python怎么求最大公约数和最小公倍数

    python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和 ...

  9. python计算数组元素的和_python中数组的运算

    Python中进行数组的运算需要调用NumPy包. 其官网是:http://www.numpy.org/​www.numpy.org NumPy是Python语言的一个扩充程序库.它支持高级大量的维度 ...

最新文章

  1. 【资源】Faster R-CNN原理及代码讲解电子书
  2. 万字长文,一文搞懂TCP/IP和HTTP、HTTPS
  3. yellow weasel
  4. gRPC的通信方式-客户端流式、服务端流式、双向流式在Java的调用示例
  5. ​【文末有福利】股票跨度——真实世界的算法
  6. mix2s android p功能,已升安卓P!网友:MIX2S才是亲儿子
  7. 1900-01-01t00:00:00+08:00 java_日期格式转换 java 2016-09-03T00:00:00.000+08:00
  8. 为全力发展AIOT,小米把松果电子分拆重组了
  9. 数据库 之 Mysql的表分区
  10. 决策树C4.5算法对ID3算法的改进
  11. 修改jar包中的配置文件
  12. ConstraintLayout约束布局
  13. 两种求矩阵伪逆的方法
  14. vue中的Actions
  15. emacs下使用google-cpplint
  16. 0016 c/c++语言 二进制转换为十进制
  17. 【SQL】SQL如何使0值升序排序时排最后
  18. jsp 按照学号查找学生_jsp+mysql添加查询代码,并把查询结果返回当前页面,可以按学号,姓名或成绩查询...
  19. 为何网易以贵金属交易切入互联网金融,出奇制胜?
  20. 修改服务器2003系统时间,windows2003 时间服务器ntp配置

热门文章

  1. 五个月的时间视力从0.4-1.2,她究竟用了什么“好方法”?
  2. ATU中TD-SCDMA参数中英文解释
  3. mock模拟导致测试失败的解决方法
  4. 【小程序】如何获取微信小程序代码上传密钥?
  5. 心血管疾病的三大危险因素
  6. iTextSharp - 利用列进行排版
  7. 热爆NFT“MetaBunny”公开发售后飙升近35倍 首轮公开发售达1,000枚后结束
  8. 从零开始学习cocoStudio(8)--商城
  9. 皮一皮:戒网瘾专用手机...
  10. 物联网运维-前端设备运维管理设计及解决方案