From 0e3f2a7325f6556ba7b89f02712971d5e78c2ef6 Mon Sep 17 00:00:00 2001 From: KiriAky 107 Date: Mon, 7 Sep 2026 12:45:09 +0800 Subject: [PATCH] Add function plot feature demonstration note --- .../vault/功能演示/function-plot功能演示.md | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 backend/data/vault/功能演示/function-plot功能演示.md diff --git a/backend/data/vault/功能演示/function-plot功能演示.md b/backend/data/vault/功能演示/function-plot功能演示.md new file mode 100644 index 0000000..aa7654e --- /dev/null +++ b/backend/data/vault/功能演示/function-plot功能演示.md @@ -0,0 +1,138 @@ +# function-plot 功能演示 + +这份笔记展示函数图像的写法、编辑刷新、坐标设置和错误反馈。在 NotesAgent 中打开后,切换到「写作」查看图像;「源码」模式可查看和修改下面的代码块。 + +## 1. 从一条抛物线开始 + +`domain` 设置横轴范围,`range` 设置纵轴显示范围。`xlabel` 和 `ylabel` 设置坐标轴标签。 + +```function-plot +domain: -4, 4 +range: -2, 18 +xlabel: 横坐标 x +ylabel: 函数值 y +grid: true +y = x^2 +``` + +试着将 `y = x^2` 改为 `y = (x-1)^2 + 2`,观察顶点从 `(0, 0)` 移到 `(1, 2)`。修改后切回写作模式即可查看结果。 + +## 2. 多函数同图 + +一个代码块内每行写一个函数,曲线按顺序分配颜色,并显示对应图例。三角函数的输入单位是弧度。 + +```function-plot +domain: -6.2832, 6.2832 +range: -2.2, 2.2 +xlabel: x / 弧度 +ylabel: y +y = sin(x) +y = cos(x) +y = 2sin(x) +``` + +将第三条函数改为 `y = sin(2x)`,比较振幅变化和周期变化。 + +## 3. 隐式乘法与交点 + +支持 `2x`、`2(x+1)`、`(x+1)(x-1)` 等写法。乘号也可以显式写成 `*`,幂可以使用 `^`。 + +```function-plot +domain: -3, 4 +range: -5, 12 +xlabel: x +ylabel: y +y = (x+1)(x-1) +y = 2x + 1 +``` + +两条曲线的交点满足 `x^2 - 1 = 2x + 1`,横坐标约为 `-0.732` 和 `2.732`。 + +## 4. 指数、对数与参考直线 + +支持常量 `e`、`pi`,以及 `exp`、`ln`、`log10` 等函数。这里把横轴限定在正数范围,保证对数有定义。 + +```function-plot +domain: 0.1, 3 +range: -3, 8 +xlabel: x +ylabel: y +y = exp(x) +y = ln(x) +y = x +``` + +超出纵轴显示范围的曲线会被裁切。把 `range` 改为 `-3, 22`,可以查看更完整的指数曲线。 + +## 5. 绝对值与平方根 + +```function-plot +domain: -4, 4 +range: -0.5, 4.5 +xlabel: x +ylabel: y +y = abs(x) +y = sqrt(abs(x)) +``` + +这里用 `sqrt(abs(x))`,所以负半轴也有定义;它与 `sqrt(x)` 的定义域不同。 + +## 6. 间断点与显示范围 + +```function-plot +domain: -5, 5 +range: -5, 5 +xlabel: x +ylabel: y +y = 1/x +``` + +`x = 0` 处无定义,图像应分成左右两支,而不是跨过间断点连线。可缩放或打开大图查看原点附近;曲线是有限采样的可视化,不代替数学定义。 + +## 7. 关闭网格 + +```function-plot +domain: -6, 6 +range: -0.2, 1.2 +xlabel: x +ylabel: y +grid: false +y = exp(-x^2/2) +``` + +将 `grid: false` 改为 `grid: true`,比较有无网格的效果。 + +## 8. 错误反馈演示(故意写错) + +下面的 `sinn` 不是支持的函数名,预期显示错误诊断,不生成曲线。这是本节的演示内容。把它改为 `sin` 即可恢复图像;若希望导出一份没有错误警告的文档,请先修正这一行。 + +```function-plot +domain: -3.14, 3.14 +y = sinn(x) +``` + +## 交互与导出检查 + +- 将鼠标移到图表区域,试用缩小、放大、重置和大图查看;只读预览也可切换源码。 +- 在窄窗口中横向滚动函数图,检查坐标刻度和右侧图例。 +- 依次切换 `light`、`dark`、`sepia`、`paper-moments`、`ocean-blue`、`midnight-purple`;社区主题需先安装并启用。检查背景、网格、文字和曲线的对比度。 +- 修改第一节函数后不保存,点击编辑器顶部「导出」,分别选择 HTML、PDF、DOCX,验证文件采用点击时的编辑内容。 +- HTML 保留支持的主题配色;PDF、DOCX 使用浅色打印样式。HTML 的函数图为 SVG,PDF 为矢量图,DOCX 为静态图片。 + +## 写法速查 + +| 项目 | 示例 | +| --- | --- | +| 代码块语言 | `function-plot` | +| 函数表达式 | `y = x^2 + 2x + 1` | +| 横轴范围 | `domain: -5, 5` | +| 纵轴范围 | `range: -2, 10`,省略时自动估计 | +| 坐标标签 | `xlabel: 时间`、`ylabel: 数值` | +| 网格开关 | `grid: true` / `grid: false` | +| 数学常量 | `pi`、`e` | +| 常用函数 | `sin`、`cos`、`tan`、`sqrt`、`abs`、`exp`、`ln`、`log10` | +| 注释 | 单独一行以 `#` 开头 | + +范围端点使用数值,例如 `domain: -3.1416, 3.1416`;表达式中可以使用 `pi`。当前只绘制以 `x` 为自变量的二维函数,不支持任意脚本、参数曲线或三维曲面。 + +每个图块最多 16 条表达式;每份导出文档最多 16 个函数图、累计 8000 个表达式节点。本文件包含 7 个正常示例和 1 个有意保留的错误示例。