🌐 ZH

🏔️ 3D曲面绘图器

将曲面 z = f(x, y) 绘制为可旋转的彩色网格。选择鞍面或波纹等预设,或输入自己的函数,然后用旋转滑块转动它。

z =

Allowed: + - * / ^ ( ) and sin, cos, tan, sqrt, abs, exp, log, pow; constants pi and e; variables x and y.

30
6
34°
52°
指南

了解更多

01

什么是曲面图?

曲面图将两个变量的函数 z = f(x, y) 可视化为一个高度场:在平坦的 x/y 平面上的每个点,函数给出一个高度 z,把这些高度连起来就形成漂浮在 3D 空间中的光滑网格。颜色通常编码高度,因此峰与谷一目了然。这是描绘地形、板上温度分布或数学鞍面形状的自然方式。
02

3D视图的渲染方式

工具在整个定义域上求值函数,得到一个点的网格(最多 40×40),然后用你控制的两个角度旋转这些点,用简单的等距投影把旋转后的点投影到 2D,再把各个面从后向前排序,使近处的面遮住远处的面——这就是经典的画家算法。一切都用纯 HTML 画布绘制:没有 WebGL,也没有 three.js,因而工具轻巧、无依赖。
03

安全的函数输入

自定义白名单解析器读取你的公式——没有 JavaScript eval——因此只接受所列函数(sin、cos、tan、sqrt、abs、exp、log、pow)、常数 pi 与 e,以及两个变量 xy。其他任何内容在运行前都会被拒绝。不错的起点是预设,例如生成起伏波场的 sin(x)*cos(y),或形成经典鞍面的 x^2 - y^2

常见问题

我可以使用哪些变量?
使用 <strong>x</strong> 和 <strong>y</strong>。工具会在所选定义域上的网格每个点处求值函数,得到高度 <em>z</em>。
允许使用哪些函数?
sin、cos、tan、sqrt、abs、exp、log、pow,以及常数 pi 和 e。可用四则运算(+ − * /)组合,用 ^ 表示乘方,例如 z = sin(sqrt(x^2 + y^2))。
它使用 WebGL 或 three.js 吗?
不。它使用自成一体的 HTML 画布投影,配合画家算法进行面排序,因此没有外部依赖,只要有浏览器就能运行——即便是配置一般的硬件。