matplotlib如何画球

matplotlib如何画球

数学知识

计算机一般来说不善于处理隐函数,因此需要把隐函数转化一下,一般来说会转化为参数方程,以球体为例,球体的方程就是一个隐函数,但是我们知道球的参数方程,这就很简单了。

球的标准方程:

x 2 + y 2 + z 2 = 10 x^{2}+y^{2}+z^{2}=10 x2+y2+z2=10

球的参数方程:

x = r sin ⁡ φ cos ⁡ θ x=r\sin\varphi\cos\theta x=rsinφcosθ

y = r sin ⁡ φ sin ⁡ θ y=r\sin\varphi\sin\theta y=rsinφsinθ

z = r cos ⁡ φ z=r\cos\varphi z=rcosφ

( 其中 0 ≤ θ ≤ 2 π , 0 ≤ φ ≤ π ) (其中0\leq\theta\leq2\pi,0\leq\varphi\leq\pi) (其中0θ2π,0φπ)

matplotlib代码

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation

fig = plt.figure()
ax = fig.add_subplot(projection='3d')

u = np.linspace(0, 2 * np.pi, 100)# 用参数方程画图
v = np.linspace(0, np.pi, 100)
x = 10 * np.outer(np.cos(u), np.sin(v))# outer()外积函数:返回cosu × sinv
y = 10 * np.outer(np.sin(u), np.sin(v))# 
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))# ones():返回一组[1,1,.......]

ax.plot_surface(x, y, z)

ax.set_aspect('equal')
print(np.ones(np.size(u)))
plt.show()

20221107085756

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李南想做条咸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值