小编Lim*_* Zj的帖子

Python:球体的交叉点

我对编程非常陌生,但我决定接受一个有趣的项目,因为我最近学会了如何用参数形式表示一个球体.当交叉三个球体时,有两个交叉点是不同的,除非它们仅在一个奇点处重叠.

球体的参数表示:

我的代码是根据Python/matplotlib的答案修改的:绘制一个三维立方体,一个球体和一个向量?,增加了指示x,y和z原点以及球体半径的能力.许多类似的问题都是用C++,Java和C#编写的,我根本无法理解(我几乎不知道我在做什么,所以对我很轻松).

我的代码:

import numpy as np

def make_sphere_x(x, radius):
  u, v = np.mgrid[0:2 * np.pi:5000j, 0:np.pi:2500j]
  x += radius * np.cos(u) * np.sin(v)
  return x

def make_sphere_y(y, radius):
  u, v = np.mgrid[0:2 * np.pi:5000j, 0:np.pi:2500j]
  y += radius * np.sin(u) * np.sin(v)
  return y

def make_sphere_z(z, radius):
  u, v = np.mgrid[0:2 * np.pi:5000j, 0:np.pi:2500j]
  z += radius * np.cos(v)
  return z

#x values
sphere_1_x = make_sphere_x(0, 2)
sphere_2_x = make_sphere_x(1, 3)
sphere_3_x = make_sphere_x(-1, …
Run Code Online (Sandbox Code Playgroud)

python math numpy python-3.x

11
推荐指数
1
解决办法
757
查看次数

标签 统计

math ×1

numpy ×1

python ×1

python-3.x ×1