作者:天地菲人间_984 | 来源:互联网 | 2023-05-16 18:44
后端开发|Python教程Python,n个点,均匀,分布,球面,方后端开发-Python教程免费派商城源码,vscodeplug,ubuntu配置pcl,初学tomcat,小米路
后端开发|Python教程
Python,n个点,均匀,分布,球面,方
后端开发-Python教程
免费派 商城源码,vscode plug,ubuntu配置pcl,初学tomcat,小米路由 sqlite,上海游戏服务器租用价格,bootstrap提交表单插件,前端ui框架pqgird,python 爬虫比较,php安装swoole扩展,前端seo方法,品牌展示型网站源码,网页宽度 宽屏,交易日记模板,仿饿了么点餐页面,学校学生缴费管理系统,access源程序 加密lzw
最近工作上遇到一个需求,将10000左右个点均匀地分布在一个球面上。所谓的均匀,即相邻的两个点之间的距离尽量一致。
我的算法是用基于正多面体剖分球面,我选的是正八面体。
多用户建站系统源码哪里有免费的,ubuntu 32efi,夏天的爬虫6,临清 php,seo771lzw
1. 效果图如下:
安卓源码 抠图,ubuntu更换启动内核,tomcat怎么样启动,上海爬虫事件,php的apc,惠州seo有话要多少钱lzw
2.sphere.py代码如下
#!/usr/bin/python# -*- coding: utf-8 -*-import mathclass 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, zdef 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 += azimuthalfor point in splot(input('')): print("%f %f %f" % point)