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=x2−y2。 - 生成网格点:
使用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()