使用matplotlib绘制马鞍面

Hyperbolic Praboloid

马鞍面的数学名称是双曲抛物面(Hyperbolic Praboloid),在XOZ坐标平面上构造一条开口向上的抛物线,然后在YOZ坐标平面上构造一条开口向下的抛物线(两条抛物线的顶端是重合于一点上);然后让第一条抛物线顺着另一条抛物线上滑动,便形成了马鞍面。坐标原点为马鞍面的鞍点
在这里插入图片描述
采用该造型所具有的易堆叠和抗挤压特性为生产、包装、运输带来了极大便利的便利,所以自1967首次使用该造型批量生产薯片后就一直沿用至今。
在这里插入图片描述
横截法考察函数:
在这里插入图片描述

Code

  • 导入必要的库:
    numpy 用于数值计算。matplotlib.pyplot 用于绘制图形。
  • 定义马鞍面函数saddle_surface(x, y) 函数定义了马鞍面的数学表达式,即 z = x 2 − y 2 z = x^2 - y^2 z=x2y2
  • 生成网格点:
    使用 np.linspace() 生成 x 和 y 值的一维数组。
    使用 np.meshgrid() 生成 x 和 y 的网格点,即二维数组。
  • 计算 z 值:
    使用之前定义的 saddle_surface() 函数计算每个网格点的 z 值。
  • 绘制表面:
    创建一个 Matplotlib 图形窗口。 添加一个3D坐标轴。 使用 plot_surface() 函数绘制马鞍面。
  • 设置标签:
    使用 set_xlabel()、set_ylabel()set_zlabel() 设置坐标轴标签。
  • 显示图形:使用 plt.show() 函数显示绘制的图形。
import numpy as np
import matplotlib.pyplot as plt
# Define the saddle surface function
def saddle_surface(x, y):
    return x**2 - y**2

# Generate x and y values
x = np.linspace(-2, 2, 100)
y = np.linspace(-2, 2, 100)
x, y = np.meshgrid(x, y)
z = saddle_surface(x, y)

# Plot the surface
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(x, y, z, cmap='viridis')

# Set labels
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

plt.show()

在这里插入图片描述
在这里插入图片描述

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值