3D曲面绘图器
绘制支持鼠标驱动旋转、缩放和平移的交互式 3D 曲面 z = f(x, y)。可调节 x/y 定义域、网格分辨率、六种颜色映射、网格线叠加和光照。在您的浏览器中探索鞍点、高斯凸包、波纹、猴鞍面、双曲抛物面以及著名的墨西哥帽 sinc 曲面 — 无需插件。
检测到广告拦截,导致我们无法展示广告
MiniWebtool 依靠广告收入免费提供服务。如果这个工具帮到了你,欢迎开通 Premium(无广告 + 更快),或将 MiniWebtool.com 加入白名单后刷新页面。
- 或升级 Premium(无广告)
- 允许 MiniWebtool.com 显示广告,然后刷新
3D曲面绘图器
3D 曲面绘图器可直接在浏览器中将任意二元函数 \( z = f(x, y) \) 绘制为完全交互式的 3D 景观。在视口内拖拽可旋转曲面,滚动或捏合可进行缩放,右键拖拽(或在手机上双指平移)可滑动视图。支持输入自定义函数,完整支持 sin、cos、exp、log、sqrt 等函数,以及常量 \( \pi \) 和 \( e \),并提供诸如 x^2 或 2xy 的自然书写便利 — 或者点击十种预设之一,瞬间渲染经典的马鞍面、抛物面、墨西哥帽 sinc 面、猴鞍面、蛋壳面、高斯脉冲等。您可以在等轴测和透视投影、六种感知色彩映射以及三种网格线样式之间进行选择,然后将当前视图导出为高分辨率 PNG 图像。
3D 曲面图绘制原理
曲面图将二元函数转化为触手可及的景观。在输入平面上的每个点 \( (x, y) \) 处,其值 \( z = f(x, y) \) 成为该点上方(或下方)曲面的高度。绘图器对常规的 \( (x, y) \) 对网格进行采样(通常每侧 30 到 90 个点),计算每个点处的 \( f \) 值,并将网格的每个单元连接成两个彩色三角形。
渲染过程使用三个经典的图形流水线步骤。首先,使用您当前的旋转和缩放将每个 3D 顶点 \( (x, y, z) \) 投影到 2D 屏幕空间。其次,按深度从后到前对三角形进行排序(画家算法)。最后,通过将高度映射的颜色与针对固定光照方向的朗伯点积相结合,对每个面进行着色。旋转曲面时,光照会跟随相机移动,正是这一点赋予了图形手工建模般的质感。
经典曲面展厅
本 3D 绘图器的独特之处
2xy、x^2 - y^2、sin(x)cos(y)。隐式乘法、脱字符幂运算和 Unicode π 都会自动转换。服务器端的 AST 白名单意味着用户输入永远不会接触到不安全的 Python 全局变量。
表达式语法 — 快速参考
| 输入内容 | 含义 | 示例 |
|---|---|---|
x, y | 两个输入变量 | z = x + y |
pi 或 π | 常量 π ≈ 3.14159 | z = sin(pi*x) |
e | 欧拉数 ≈ 2.71828 | z = exp(-x**2-y**2) |
sin, cos, tan | 三角函数(弧度制) | z = sin(x)*cos(y) |
asin, acos, atan, atan2 | 反三角函数 | z = atan2(y, x) |
exp, log, log2, log10 | 指数与对数 | z = log(x**2 + y**2 + 1) |
sqrt, abs, floor, ceil | 开方与取整 | z = sqrt(abs(x*y)) |
^ 或 ** | 幂运算 | z = x^3 - 3*x*y^2 |
隐式 * | 数字与字母相连时自动插入 × | 2xy → 2*x*y |
如何阅读 3D 曲面图
曲面图通过形状和颜色融合了大量信息。通过练习,可以识别出以下几种模式:
- 临界点是曲面具有水平切平面的地方 — 局部极大值看起来像穹顶,局部极小值看起来像碗底,而马鞍点在一个方向上向上弯曲,在垂直方向上向下弯曲。点击“马鞍面”预设并旋转视图:沿着一个轴它是微笑曲线,沿着另一个轴它是哭脸曲线。
- 水平曲线(等高线)在色彩映射为发散型或地形风格时会自然显现 — 相同颜色的条带描绘出了恒定 \( z \) 值的线条。
- 梯度方向是每个点处最陡峭的上升方向。直观上看,这就是垂直于等高线并指向更暖颜色的方向。
- 对称性在 3D 中非常明显:\( z = x^2 + y^2 \) 具有旋转对称性(碗状),\( z = x^2 - y^2 \) 仅具有镜像对称性(马鞍状),而 \( z = x^3 - 3xy^2 \) 则具有美丽的完美三重旋转对称性(猴鞍面)。
从马鞍面到 Sinc:一键之旅
预设展厅为您提供了多元微积分中最常学到的曲面的导览。为初次观看者建议的探索顺序如下:
- 抛物面 \( z = x^2 + y^2 \) — 最友好的 3D 曲面。一个旋转对称的碗,在原点处有一个唯一的极小值。
- 马鞍面 \( z = x^2 - y^2 \) — 标志性的薯片形状。尝试 cool-warm 色彩映射可立刻看到正负的分离。
- 双曲抛物面 \( z = xy \) — 旋转了 45° 的马鞍面。相同的形状,不同的朝向。
- 猴鞍面 \( z = x^3 - 3xy^2 \) — 原点周围有三个下坡而不是两个。得名于猴子坐上去时也需要一个地方来放尾巴。
- 高斯面 \( z = e^{-(x^2+y^2)} \) — 2D 空间中的钟形曲线。统计学、信号处理和物理学的基础。
- 墨西哥帽 sinc 面 \( z = \sin\sqrt{x^2+y^2}/\sqrt{x^2+y^2} \) — 径向 sinc 函数。出现在傅里叶光学、衍射图样以及以此命名的子波中。
- 蛋壳面 \( z = \sin x \sin y \) — 在两个方向上具有周期性。开启网格线可看到网格线与凸起对齐。
- 波纹面 \( z = \sin\sqrt{x^2+y^2} \) — 从原点扩散的同心波浪。尝试 −8 到 8 的宽定义域。
实际应用领域
- 多元微积分:无需每次都手动重画,即可将偏导数、梯度、临界点和拉格朗日乘子可视化。
- 物理学:势能面、电磁场强度、流体压力分布和量子波函数都可以表示为 \( z = f(x, y) \)。
- 机器学习:2D 权重子空间周围的损失景观(loss landscapes)有助于建立关于梯度下降为何有效(以及为何马鞍面是一个难题)的直觉。
- 计算机图形学:地形高度图正是如此 — 在常规网格上对函数 \( h(x, y) \) 进行采样然后进行三角剖分。
- 土木工程:用于地形分析的高程模型、大坝集水区和土石方量估算。
- 数据可视化:任何数量,只要取决于两个独立变量 — 比如一个国家的温度变化、按地区和月份划分的销售额、跨两个超参数的适应度 — 都可以自然地渲染为曲面。
美化图表的技巧
- 使定义域与函数相匹配。多项式通常在 −3 到 3 上显示。像 sinc 这样的振荡函数需要一个宽定义域(−8 到 8)来展现波纹。使用 −1 到 1 可以放大靠近原点的单个马鞍面。
- 选择合适的色彩映射。对于任何具有正负区域的曲面,请使用 cool-warm — 白色中点能瞬间标记出零水平位。对于非负曲面,请使用 viridis 或 plasma。对于景观风格的高度图,请使用 terrain。
- 在作品渲染中关闭网格线。细微的网格线非常适合教学(“看清网格”)。对于出版物质量的插图,请将网格线设置为关闭(Off),并将分辨率提高到高(High)或超高(Ultra)。
- 利用自动旋转捕获丰富的动画。点击自动旋转(Auto-spin)然后开始录屏 — 非常适合将旋转的曲面嵌入到幻灯片中,而无需手动操作。
- 过大的定义域会使曲面扁平化。如果您的函数在边缘附近返回极大的值,内部的细节就会塌陷。要么缩小定义域,要么缩放函数(例如 \( z / 100 \))以使关键区域重新清晰可见。
常见问题
什么是 3D 曲面图?
3D 曲面图将二元函数 z = f(x, y) 可视化为 (x, y) 平面上的山峦景观。每个点 (x, y) 处的高度即为函数值 z。绘图器对 (x, y) 对的网格进行采样,计算每个点处的 f 值,并将相邻采样点连接成一个三角网格,该网格可以进行交互式旋转、缩放并根据高度重新着色。
我可以绘制哪些函数?
任何使用 x 和 y 的表达式,支持 sin、cos、tan、asin、acos、atan、atan2, sinh, cosh, tanh, exp, log, log2, log10, sqrt, abs, floor, ceil, pow, min, max — 以及常量 pi、e 和 tau。三角函数使用弧度制。隐式乘法(2x → 2*x)、用于幂运算的脱字符 ^ 以及 Unicode π 都会自动处理。
如何旋转、缩放和平移?
在视口内点击并按住鼠标左键拖拽,可绕其中心旋转曲面(偏航和俯仰)。滚动滚轮可放大和缩小。右键点击并拖拽(或在触控屏上使用双指平移)可滑动视图。点击视口上方的相机预设按钮,可快速跳转到标准等轴测、顶视、正视或侧视图。
颜色代表什么?
默认情况下,每个面的颜色代表其 z 高度 — 低点使用调色板的冷色端,高点使用暖色端。对于像 cool-warm 这样的发散色彩映射,中点正好是 z = 0,这使得马鞍面特别易读。朗伯光照(Lambertian lighting)也会使背对光源的面变暗,从而使曲面看起来更具立体感。
这在手机上能用吗?
能。视口支持单指拖拽旋转和双指捏合缩放。在手机上选择低分辨率(30×30)可获得最流畅的交互体验 — 这仍然可以提供清晰完整的曲面轮廓。中分辨率和高分辨率更适合笔记本和台式电脑。
为什么我的函数看起来充满尖刺或不正确?
最常见的原因是定义域太小(导致函数基本呈扁平状)或太大(导致数值激增,仅能看到极值)。尝试对多项式使用更窄的范围(如 −2 到 2),或者对振荡的 sinc/波纹函数使用更宽的范围(如 −8 到 8)。奇点(如 1/x)会自动被裁剪 — 但它们周围的曲面仍可能拉大颜色范围。在分母中加入一个小的常数(例如 1/(x²+y²+0.1))来平抑它们。
我可以绘制隐式曲面或向量场吗?
该绘图器处理显式曲面 z = f(x, y) — 每个 (x, y) 输入对应一个 z 值。隐式曲面 F(x, y, z) = 0(如球体 x²+y²+z²=1)和参数化曲面需要移动立方体(marching-cubes)算法或参数化图形生成器,这超出了本工具的范围。对于向量场和斜率场,请参见相关的斜率场绘图器。
如何保存我的图表?
点击视口工具栏中的 PNG 按钮,将当前视图下载为高分辨率 PNG 图像。该文件会捕获您设置的任意旋转、缩放和色彩映射 — 因此请先将曲面旋转到您最喜欢的角度,然后导出。图像会按您设备的像素比进行渲染,确保在幻灯片中清晰显示。
这个 3D 曲面绘图器是免费的吗?
是的。3D 曲面绘图器是完全免费的,在提交表单后完全在您的浏览器中运行,无需注册,并能生成无水印的导出文件。您可以不受限制地将这些图表用于家庭作业、论文、幻灯片、博客文章和商业项目。
引用此内容、页面或工具为:
"3D曲面绘图器" 于 https://MiniWebtool.com/zh-cn//,来自 MiniWebtool,https://MiniWebtool.com/
由 MiniWebtool 团队开发。更新时间:2026-05-21
您还可以尝试我们的 AI数学解题器 GPT,通过自然语言问答解决您的数学问题。