#!/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)
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有