资讯专栏INFORMATION COLUMN

通过Python绘制九种二次曲面

CoderDock / 902人阅读

摘要:二次曲面中绘制三维图需要将坐标系声明为。

二次曲面

python中绘制三维图需要将坐标系声明为3d

球面方程为

x 2 + y 2 + z 2 = R 2 x^2+y^2+z^2=R^2 x2+y2+z2=R2

写为极坐标形式为

x = R sin ⁡ θ cos ⁡ φ y = R sin ⁡ θ sin ⁡ φ z = R cos ⁡ θ /begin{aligned} x&=R/sin/theta/cos/varphi// y&=R/sin/theta/sin/varphi// z&=R/cos/theta/end{aligned} xyz=Rsinθcosφ=Rsinθsinφ=Rcosθ

R = 1 R=1 R=1,则画图为

代码如下

>>> import matplotlib.pyplot as plt>>> import numpy as np>>> theta = np.arange(0,6.4,0.1).reshape(64,1)>>> phi = np.arange(0,3.2,0.1).reshape(1,32)>>> x = np.sin(theta)*np.cos(phi)>>> y = np.sin(theta)*np.sin(phi)>>> z = np.cos(theta)>>> ax = plt.gca(projection="3d")>>> ax.plot_surface(x,y,z)<mpl_toolkits.mplot3d.art3d.Poly3DCollection object at 0x000001CECF13A730>>>> plt.show()

二次曲面共有九种,代码均与椭球曲面类似,为了加强立体感,可在画图的时候设置颜色映射,下列各图部分用到

from matplotlib import cm#...ax.plot_surface(x,y,z,cmap=cm.coolwarm)
a,b,c均为1时的曲面
椭圆锥面
x 2 a 2 + y 2 b 2 − z 2 c 2 = 0 /frac{x^2}{a^2}+/frac{y^2}{b^2}-/frac{z^2}{c^2}=0 a2x2+b2y2c2z2=0
椭球面
x 2 a 2 + y 2 b 2 + z 2 c 2 = 1 /frac{x^2}{a^2}+/frac{y^2}{b^2}+/frac{z^2}{c^2}=1 a2x2+b2y2+c2z2=1
单叶双曲面
x 2 a 2 + y 2 b 2 − z 2 c 2 = 1 /frac{x^2}{a^2}+/frac{y^2}{b^2}-/frac{z^2}{c^2}=1 a2x2+b2y2c2z2=1
双叶双曲面
x 2 a 2 + y 2 b 2 − z 2 c 2 = − 1 /frac{x^2}{a^2}+/frac{y^2}{b^2}-/frac{z^2}{c^2}=-1 a2x2+b2y2c2z2=1
椭圆抛物面
z = x 2 a 2 + y 2 b 2 z=/frac{x^2}{a^2}+/frac{y^2}{b^2} z=a2x2+b2y2
双曲抛物面
z = x 2 a 2 − y 2 b 2 z=/frac{x^2}{a^2}-/frac{y^2}{b^2} z=a2x2b2y2
椭圆柱面
x 2 a 2 + y 2 b 2 = 1 /frac{x^2}{a^2}+/frac{y^2}{b^2}=1 a2x2+b2y2=1
双曲柱面
x 2 a 2 − y 2 b 2 = 1 /frac{x^2}{a^2}-/frac{y^2}{b^2}=1 a2x2b2

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122207.html

相关文章

  • TWaver3D直线、曲线、曲面绘制

    摘要:类权威书籍非均匀有理样条第版非均匀有理样条,通常简称为实际上已经成为利用计算机处理集合信息时用于形状的表示设计和数据交换的工业标准。而一般的直线,曲线是很难达到这样效果的,所以引入了曲线。 插播一则广告(长期有效) MONO哥需要在武汉招JavaScript工程师若干要求:对前端技术(JavasScript、HTML、CSS),对可视化技术(Canvas、WebGL)有浓厚的兴趣基础不...

    codecraft 评论0 收藏0
  • Python做地图投影 - 多面孔的世界

    摘要:如需转载,请在显著位置注明个人微信公众号为什么要做地图投影简而言之,地球表面是一个三维的曲面,在曲面上进行测量是非常困难的。拓展同一个世界,不同的面孔链接在不同投影下的这个世界。。。 (如需转载,请在显著位置注明个人微信公众号stdrei) 为什么要做地图投影 简而言之,地球表面是一个三维的曲面,在曲面上进行测量是非常困难的。不信你拿个地球仪量一下两点的距离或者计算个夹角试试。将三维的...

    widuu 评论0 收藏0
  • 万万没想到,Python 竟能绘制出如此酷炫的三维图

    摘要:作者通常我们用绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的这些图怎么做出来呢今天就来分享下如何一步步绘制出三维矢量图。八面体我们先以下面这个八面体为例。 showImg(https://segmentfault.com/img/remote/1460000019800947); 作者 | Jay Alammar 通常我们用 Python 绘制的都是二维平面图,但有...

    mmy123456 评论0 收藏0
  • 3DSDK-NURB曲线曲面

    摘要:导语非均匀有理样条,通常简称为实际上已经成为利用计算机处理集合信息时用于形状的表示设计和数据交换的工业标准。 导语 非均匀有理B样条,通常简称为NURBS(Non-Uniform Rational B-Splines),实际上已经成为利用计算机处理集合信息时用于形状的表示、设计和数据交换的工业标准。许多国内和国际标准,如IGES,STEP和PHIGS都把NURBS作为集合设计的一个强有...

    williamwen1986 评论0 收藏0
  • 机器学习从入门到XX(一):线性回归与梯度下降

    摘要:介绍什么是机器学习有两种定义。如此描述机器学习一个领域的研究,旨在研究,在不进行编程的情况下,让计算机具有学习能力。将均方除以,是为了梯度下降算法的计算。现在将介绍第一个算法,称为梯度下降。 介绍 什么是机器学习? 有两种定义。Arthur Samuel如此描述机器学习:一个领域的研究,旨在研究,在不进行编程的情况下,让计算机具有学习能力。 Tom Mitchell给出了一个更为现代的...

    verano 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<