xby-mathematical-visualization:基于 JSXGraph 的数学可视化 MCP 服务

前言

在 DSH 插件开发中,处理复杂的数学可视化通常需要引入重型渲染库。xby-mathematical-visualization 是一个基于 JSXGraph 的 MCP 协议服务器,旨在为智能体提供现成的数学绘图能力。它提供了 13 种工具,覆盖了从基础函数绘图到向量场分析的需求,适用于教育数学、工程和科学应用。

核心功能

该插件提供以下 6 个核心功能:

  1. set_xby_apikey:在聊天中设置 API 密钥。该密钥会自动持久化,重启 DSH 进程后依然有效。
  2. generate_function_graph:函数绘图工具。支持渲染单个或多个函数,可配置颜色、标签、定义域,并包含切线、导数轨迹和积分带等功能。
  3. generate_parametric_curve:参数曲线工具。用于绘制由 x(t) 和 y(t) 定义的曲线,如圆、摆线、利萨茹图形或描述参数化运动的路径。
  4. generate_geometry_diagram:生成交互式几何图。支持创建点、线、圆、多边形、角度和向量,适用于可视化几何概念、定理和构造(如三角形、垂线、角平分线)。
  5. generate_vector_field:生成向量场可视化。在 2D 平面上显示箭头,展示方向和大小,支持流线、奇点以及颜色编码的幅度,常用于可视化梯度场、流场或电磁场。
  6. generate_linear_system:线性系统工具。用于绘制线性方程和不等式,自动标记交点,并可以对不等式区域进行着色,或标记目标函数的最优解。

关键类型要求

在调用上述功能时,必须严格遵守类型要求,否则会导致渲染失败:

  • 数字类型:points[].x、points[].y、domain[]、integralBounds[]、tMin、tMax、startX、startY、fieldFunction.dx、fieldFunction.dy 必须是数字(例如 3.14159),不能使用字符串。
  • 字符串类型:lines[].point1、lines[].point2、polygons[].vertices、angles[].point1、angles[].vertex、angles[].point2 必须是字符串(例如 "A"),不能是坐标数组。

典型用法

以下是基于 generate_function_graph 和 generate_geometry_diagram 的调用示例。

1. 绘制基础函数

{
  "functions": [
    { "expression": "x^2" }
  ]
}

2. 绘制参数曲线(单位圆)

{
  "curves": [
    {
      "xExpression": "Math.cos(t)",
      "yExpression": "Math.sin(t)",
      "tMin": 0,
      "tMax": 6.283185307179586
    }
  ]
}

3. 生成带标签顶点的三角形

{
  "points": [
    { "x": 0, "y": 0, "name": "A" },
    { "x": 3, "y": 0, "name": "B" },
    { "x": 1.5, "y": 2.6, "name": "C" }
  ],
  "lines": [
    { "point1": "A", "point2": "B" },
    { "point1": "B", "point2": "C" },
    { "point1": "C", "point2": "A" }
  ],
  "polygons": [
    { "vertices": ["A", "B", "C"], "fillOpacity": 0.2 }
  ]
}

4. 绘制向量场

{
  "fieldFunction": {
    "dx": "-y",
    "dy": "x"
  },
  "streamlines": [
    { "startX": 0, "startY": 0 }
  ]
}

适用场景与注意

  • 适用场景:该插件非常适合教育工作者、数学建模者以及需要快速将数学概念可视化的开发者。无论是绘制微积分中的切线、积分区域,还是物理中的向量场,它都能提供直观的交互式图表。
  • 注意事项:由于插件以当前 DSH 进程的权限运行,请务必在安装前检查源码和许可证(MIT)。参数传递时,请严格区分数字类型(坐标值)和字符串类型(点名称),避免因类型错误导致绘图异常。

总结

xby-mathematical-visualization 是一个轻量级的数学可视化工具集。通过它,开发者无需在 DSH 插件中集成复杂的 JSXGraph 库,即可直接调用绘图能力。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜