GeoGebra Diagram Generator — GeoGebra 图表生成器
v1.0.0使用GeoGebra的Execute文本脚本为几何问题生成精确的静态或交互式几何图表。当Codex需要为geogebra.org/geometry或geogebra.org/classic创建构造时,产生一个单行的Execute({...})命令,使用GeoGebra命令动态保留几何约束,通过GeoGebra的Algebra面板粘贴和验证图表,或者当浏览器自动化可用时,自主绘制和截图几何图形在浏览器中。
运行时依赖
安装命令
点击复制技能文档
GeoGebra 图表生成器 通过计算干净的坐标模型,然后发出一个 Execute({...}) 命令,生成 GeoGebra 几何图表。 在关系必须保持真实而点移动时,优先使用本地 GeoGebra 约束而不是浏览器点击或静态坐标。
工作流程 分析几何图形。 选择一个虚拟的笛卡尔坐标系统,通常具有自然原点,如 O=(0,0)。 计算坐标、方程、圆半径、比率和角度,以使图形准确。 识别自由元素、可移动的约束元素和派生元素。 在可能的情况下,使用 GeoGebra 构造来保留动态关系,而不是使用一次性坐标近似值。 制定 GeoGebra 命令字符串。 使用变量和滑块来控制用户值,例如 "r=5" 或 "ang=Slider[0°, 360°, 1°]"。 使用约束移动点,例如 "D=Point[Segment[A,B]]" 或 "P=Rotate[A, ang, O]"。 使用本地命令强制关系:PerpendicularLine[A, line]、ParallelLine[A, line]、Intersect[obj1, obj2]、Circle[O, r]、Rotate[A, ang, O] 等。 在每个图表中包含 "SetAxesRatio[1, 1]" 以防止圆、正方形、旋转和垂直的视觉失真。 应用语法和兼容性规则。 使用方括号 [] 来表示 GeoGebra 数学命令,而不是使用括号。 避免转义的颜色名称字符串,例如 \"Black\";使用 RGB 数值颜色命令,例如 SetColor[obj, 0, 0, 0]。 避免使用 ShowObject、SetVisibleInView 和类似的可见性命令,因为本地 GeoGebra 构建可能会崩溃。 使辅助对象变淡:SetColor[line, 0.85, 0.85, 0.85] 和 SetLineStyle[line, 2]。 保持对象名称稳定和有意义,以便后续命令可以引用它们。 提供结果。 返回一个包含 Execute({...}) 的单行围栏 GeoGebra 代码块。 简要说明哪些对象是可移动的、哪些滑块控制构造以及哪些关系是保证的。 如果有浏览器自动化技能或工具,优先使用 https://www.geogebra.org/geometry 来解决几何问题。 打开代数面板,点击输入... / 输入... 行,通过剪贴板粘贴命令,按 Enter,并验证图形是否出现。 如果没有浏览器自动化工具,告诉用户打开 GeoGebra Geometry 或 Classic,切换到代数面板,粘贴单行代码到输入行,并按 Enter。
浏览器执行 优先使用 https://www.geogebra.org/geometry 的真实粘贴工作流程;它比直接填充 GeoGebra 的数学输入或使用 https://www.geogebra.org/classic 更可靠。 打开 https://www.geogebra.org/geometry。 如果 GeoGebra 显示还原未保存的工作对话框,在测试新脚本之前将其dismiss。 选择左侧的代数面板(Algebra / 代数区)。 点击输入行(Input...、输入... 或本地化文本框,例如在此处输入方程或代数式)。 将整个 Execute({...}) 命令写入浏览器剪贴板,粘贴,然后按 Enter。 通过检查代数面板中的预期对象或测量值以及捕获屏幕截图来验证。 当用户需要证据时,保存或显示屏幕截图。 不要依赖 Playwright 风格的 fill() 来填充 GeoGebra 数学输入。 它可以在不同步 GeoGebra 内部编辑器状态的情况下更改可见的 DOM 值;甚至简单的输入,如 A=(0,0),也可能失败。 剪贴板粘贴加 Enter 与真实用户输入更可靠。 如果浏览器暴露了 JavaScript 评估表面且剪贴板粘贴不可用,通过 GeoGebra 的 applet API 注入仍然可以工作:ggbApplet.evalCommand('Execute({"SetAxesRatio[1, 1]", "O=(0,0)", "A=(2,0)", "B=(0,2)", "Segment[A,B]"})') 在任何执行路径之后,验证预期对象是否存在或画布是否非空白。 如果执行失败,首先检查命令字符串的括号语法、引号、不支持的本地化命令、格式错误的 Unicode 度符号或隐藏的还原对话框阻塞页面。
示例 需要紧凑的模板用于常见构造或调试 GeoGebra 语法时,请阅读 references/examples.md。