函数图像扩展
GeoGebra 嵌入 beta
沿用 VitePress 提供的文件导入语法导入 .ggb
文件。
例如有目录结构:
txt
目录
├── 文章1.md
├── 文章2.md
└── images
├── graph.ggb
└── 3dgraph.ggb
则可在 文章1.md
中使用如下语法:
markdown
<<< ./images/someGraph.ggb#graphing
<<< ./images/some3dGraph.ggb#3d
效果如下:
其中 #
后加工具名,如 "graphing", "geometry", "classic"
。
仍在测试阶段,可能不稳定。
Function-Plot Repo
仓库定义的 graph
代码块可在不依赖外部资源(例如 GeoGebra 或 Desmos 提供的 iframe)的情况下创建交互式的二维图像。graph
块中的配置使用 JSON5 格式书写。此功能使用 Function Plot 库实现,配置文件接口也与该项目相同。
你可以在 项目官网 查看例子,在 API 文档 查看完整的接口。
Function Plot GUI 提供了图形界面编辑器,并可以直接输出 JSON5 格式的配置信息。需要注意的是,Function Plot GUI 项目还在完善中,并不能覆盖所有配置。
markdown
```graph
{
data: [{ fn: "x^2" }],
}
```
渲染结果
将官网上的实例迁移到 Markdown 中
例如,对于官网上的例子:
js
functionPlot({
target: "#derivative-update",
yAxis: { domain: [-1, 9] },
data: [
{
fn: "x^2",
derivative: {
fn: "2 * x",
updateOnMouseMove: true,
},
},
],
});
插入 Markdown 中时,只保留花括号及其包裹的部分,并删去 target
字段target
字段用于指定函数图像插入的目标 DOM 元素,在 Markdown 渲染过程中会被覆盖)
markdown
```graph
{
yAxis: { domain: [-1, 9] },
data: [
{
fn: "x^2",
derivative: {
fn: "2 * x",
updateOnMouseMove: true,
},
},
],
}
```
渲染结果:
WARNING
由于 Function Plot 的渲染依赖浏览器 API,因此无法进行 SSR(服务器端渲染
请在确保函数图像可以正确渲染后再插入。