【基础篇】GeoGebra工具系列_点(Point)

538 阅读17分钟

@一生二,二生三,三生万物——八荒启

请添加图片描述 @TOC

一. 🚀 引言

1. 背景

如果说GeoGebra你不知道从哪儿学起,那就开始玩儿工具吧,从“点”开始。点在GeoGebra是一个灵魂,就像我们小学的时候学习步骤一样,先学点、然后是线、最后是面,进而是体。那么理所应当,我们先从点开始(采用GeoGebra6制作,对新手友好)。

文章路径公众号:八荒启-交互动画 / 创作中心 / 系列教程 / Geogebra从入门到编程全集 / 基础篇
作者酷酷的脸脸
所属平台八荒启教育
更新日期2025.8.28
资源下载文章配套文件包,公众号内回复“GGB004”(注意不要换行)

2. 场景

八荒启专精于制作交互动画,比如GGB、Canvas、H5、Unity,本套GGB系列文章主要是以交互动画为大背景,逐步展开具体知识点的讲解。

二、🛠️GeoGebra工具系列_点(Point)

关于点的官方文档:geogebra.github.io/docs/manual… 在这里插入图片描述

1. 点的基本操作

打开工具栏后,看到的Point就是点工具,点击之后,屏幕这里会提示已经激活: 在这里插入图片描述 鼠标在右边随便点就可以了,取消激活就按一下Esc,然后可以移动画布,或者进行其他操作。

(1)自由点(Free Point)

在Geogebra的视图里讲过了对象,有自由对象,还有依赖对象,当时就是用点举例子。下边的动图中,A是自由点,B是依附点。拖动A,B可以跟着移动。 请添加图片描述

通过工具在画布上点击创建的点,就是自由点。 自由点的特点:独立、不依附于其他对象 从底层来讲:自由点的父类就是自由对象,因此就继承了父类自由对象的全部属性。

(2)依附点(Dependent Point)

在不同的版本中,Dependent Point的中文翻译并不相同,有时候叫附着点,有时候叫依赖点,但无论怎么叫,核心都是一个:“这种点位置并不是完全自由的,而是“依附”在某个对象上,比如一条直线、一个线段、一个圆或一个多边形的边”。

这里我举一个点依附于线段的例子:

A=$point(-10.63,4.48)
B=$point(-1.29,4.34)
f=Segment(A,B)
C=Point(f)

请添加图片描述

依附点的作用非常大,可以说是承担了GeoGebra交互动画的半壁江山。后续会讲到 Point 指令的参数,这里先简单了解一下,看不懂没关系,后续中阶内容会讲到:

Point(f,滑动条)

这样就可以用滑动条控制点在这个线段上的位置,十分方便。当然依附点不仅限于直线,对于曲线、几何图形等都是可以的。(注意,依附点无法绑定在无限延长的直线上,最好选择封闭曲线或线段)

理解依附点的实现方式,可以很轻松的完成一些简单几何动画,这对初学者来说非常鼓舞士气!

(4)输入方式

打开代数区,我们直接按照数学中点的标记方式输入就可以: 在这里插入图片描述 但是注意这里有些细节:

【1】GeoGebra对大小写严格,务必注意

如果我们要写点的变量名,一定用大写,因为小写a是矩阵(向量): 在这里插入图片描述 在这里插入图片描述 【2】直接写(2,2)系统会默认补充一个变量名

输入(2,2)后按下回车系统会默认配上标签为B 在这里插入图片描述 【3】从已有的点上进行创建(后续对于复杂的公式,这招非常好用)

点击代数区指令后边的三个点,可以出现复制输入,点击后会把当前的代数式复制一份,然后就可以在里边重新输入了。 在这里插入图片描述

(5)点的选择

前面在【基础篇】别着急开工!了解GeoGebra 界面就是了解你的地图里讲到了如何进行对象的选择,我们这里就再具体一些,如果对点进行选择。

【1】选择工具法

可以使用移动工具,刚才点了“点”工具,现在再点一下“移动”工具就可以了去选择点了,也就是这个: 在这里插入图片描述

这种方式非常麻烦,一方面需要一个个点击刚才绘制的点,另一方面,当你正在绘制其他图形需要选择其他对象(比如点)时,必须停止绘制,回来选择这个移动工具后才能选择对象。

【2】框选工具法

框选很高级,一网打尽,直接点击这个工具,然后框选就可以了。 在这里插入图片描述 【3】利用代数式选择

切换到代数区里边,就可以选择需要的点,我比较喜欢这种方式。注意:可以按下Shift进行加选(不要点中那个小圆圈,那个是隐藏/显示开关) 在这里插入图片描述 【4】右键框选发

如果正在绘图,可以使用右键框选的方式进行选择,很便捷,这种方式不仅对点的选择有用,对后续学的其他对象都起作用。这种方式非常常用,可以在其他工具激活的情况下,继续框选,真正实现了选择操作两不误

直接右键鼠标按住不要松然后框选,就可以了

在这里插入图片描述

2. 点的其他相关操作

(1)点的更新

可以在代数式上重新输入就可以了,或者双击点,可以出现这个弹窗,在这里更新。 在这里插入图片描述 或者在右侧属性栏更新(Ctrl + E可以快速打开,随着版本更新,快捷键可能会失效): 在这里插入图片描述 删除的话只要选中点,按下键盘Delete就可以了,选中代数区里的对象也可以这么操作。

(2)点的删除

只要可以选中就可以删除,无论是在操作界面选中还是在代数式中选中都是一样的效果,直接按下Delete就可以。

(3)点的隐藏与显示(所有对象都通用)

在代数式前面有一个小点,如下图,如果你已经误触了或许已经发现了效果,那就是将对象隐藏/显示(有颜色的是显示)。 在这里插入图片描述

(4)画布的移动(所有界面都通用)

按下鼠标中间不要松,左右推动,画布就跟着移动了。在工具没有激活的情况下,也可以鼠标左键按住拖动。

(5)点的属性栏

所有对象都有属性栏,右键点击设置可以看到。 在这里插入图片描述

(6)保留多少位小数和中英文切换的问题

经常发现自己点的小数位后……不知道多少位去了,在这里设置: 在这里插入图片描述

(7)一些常用的属性

这些属性和它的名字一样简单,可以点一点试一试,scripting是后续写脚本的位置,留意一下这个地方。 在这里插入图片描述

(8)一些常用的操作

如果Ctrl + E快捷键冲突了还有没有办法打开属性栏?这里有三个点,点击setting就可以 在这里插入图片描述 或者操作界面选择图形,点击setting就可以 在这里插入图片描述

3. 点的进阶玩法

(1)滑动点(动态点)

滑动点是依附点的一种应用形式,当我们将点绑定在某个对象(直线、线段、圆、函数曲线)上,就可以让这个点在对象范围内自由滑动。 请添加图片描述

1.常规的方式直接在图形的轮廓上点一个点就可以了,然后在代数区看到这条指令后边的播放按钮; 2.但是对于多边形,比如三角形,只能用一个集合来实现围绕运动,可以将附属文件下载下来看一下(属于中阶知识,先了解)。

(2)坐标与代数方程的联动

如果我们将滑动点和代数方程联合起来,那就是一个漂亮的动态函数展示,当然,这是简化版的(创意不限,自由发挥): 请添加图片描述

(3)随机点(高阶知识,可先了解)

研究随机分布时,我们就会使用随机点,比如我们在[-5,5]的矩形区域之间生成60个点,就可以用这种方式:

l1=Sequence($point(RandomBetween(-5,5),RandomBetween(-5,5)),i,1,60)

请添加图片描述这条指令里包含了多个语法,分别是列表、点、随机数,可以先将这句指令复制给AI让其教学一下,可以先关注,后续逐渐深入这些高阶知识。

4. 点在动画中的作用

正如开文说的一样,点是GeoGebra的基础,这里我全面汇总一下点的作用,供参考。

作用说明举例
作为计算基础点的坐标直接参与几何/代数计算,是多数量化结果的输入距离 Distance(A,B)、斜率 Slope(Line(A,B))、三角形面积由 A,B,C 坐标计算
作为控制点通过拖动点改变模型参数或形状,相当于“几何化滑块”拖动抛物线顶点控制开口与位置;拖动初速度端点改变抛射轨迹
作为交互入口点击/拖动点触发状态切换、脚本或分支逻辑OnClick 为布尔量 p 取反:SetValue(p, !p) 实现开关
作为显示定位作为文本/标注的锚点,使信息跟随位置变化在 A 附近显示 Text("f(A.x)="+f(A.x), A)
依附点/约束点点被约束在对象(直线、圆、函数、区域)上A = Point(c) 使 A 在圆 c 上;A = PointIn(poly) 使 A 被限制在多边形内
参数化/驱动变量载体用点的坐标表达参数,推动函数/曲线随参变化A=(t, sin(t)),t 为滑块;或 A=Curve(a(t), b(t), t, t1, t2)
轨迹(Locus)起点以点带动另一点生成轨迹,研究依赖关系Locus(B, A):A 在圆上滑动,观察 B 的轨迹
动画驱动让点沿路径自动运动,展示连续变化选中点 A→播放动画;或设置 StartAnimation(A, true)
随机/采样点用随机坐标生成样本,做概率与统计实验Sequence((RandomUniform(-5,5), RandomUniform(-5,5)), i, 1, 60)
测量与标注锚点给长度、角度、切线等动态对象提供标注位置在切点 P 处显示切线方程、曲率数值
变换中心/枢轴作为旋转、伸缩、镜像等几何变换的中心Rotate(poly, α, O)Dilate(c, k, O)Reflect(A, B)
局部坐标系基准自定义原点/基向量的定位,构建局部坐标系以 O 为原点、U,V 为基的坐标变换与投影演示
投影/垂足/最近点通过点定义到对象的投影或最短距离点Foot(A, l) 得到 A 到直线 l 的垂足
顶点/几何骨架作为多边形、折线、圆锥曲线等的关键顶点Polygon(A,B,C,…)Polyline(P1..Pn)
Bézier/样条控制控制点决定曲线形状与平滑度Bezier(A,B,C,D)Spline(P1..Pn)
向量端点确定向量的起点与终点,便于力学/位移表示Vector(A,B);合力、分解与平行四边形法则演示
函数取样/数值节点用点序列采样函数,做离散化与拟合Sequence((x, f(x)), x, a, b, h)FitPoly(points, n)
布尔与模式选择器点位置对应不同状态/模式将 A 限制在若干离散点 {P1,P2,…},用 IndexOf 映射为模式编号
数据可视化数据点作为数据集的元素用于拟合/统计图拖动散点影响 FitLineFitPoly 结果
复数/极坐标表示点与复数/极坐标一一对应,便于运算与几何理解以 A 表示复数 z,展示 `
极径/角度控制用点控制半径与角度,驱动极坐标模型A=(r cos θ, r sin θ)Angle(O,A) 动态测角
圆/弧的定义点圆心与圆上一点决定半径;三点定圆Circle(O, A)Circumcircle(A,B,C)
角的定义点三点确定角,拖动任一点改变角度Angle(A,B,C);可作角平分线、等角轨迹
约束到格点/整数点将点限制为整数坐标/网格节点A=(Round(x(A)), Round(y(A))) 或开启吸附到网格
选择/拾取目标作为“抓手”定位与选取对象用 A 选取最近元素:Element(Objects, k)(配合距离排序)
动态文本/图像锚点文本、图片、标签随点移动与缩放将说明、提示图钉在 A,界面整洁不遮挡主体
自定义工具 I/O作为工具的输入/输出参数,复用构造以 A,B 为输入构造垂线工具;输出交点 P
优化/求解变量点坐标作为变量参与目标函数,寻找极值调整 A 使 d(A) 最小;用 Extremum/NSolve 配合可视化
物理/几何模拟实体把点当作质点/节点,联动弹簧、杆件等质点-弹簧模型,拖动初始位置观察振动
轨迹描迹/涂绘开启“描迹”记录运动轨迹形成图形对 A 开启“描迹”,配合动画形成轨迹图
分段/状态边界点点越过边界触发分段函数或状态切换x(A)>c 则显示方案2,否则显示方案1
时间轴/进度代理用点在数轴上表示时间/进度驱动场景t = x(A);随 t 切换镜头与注释
误差/不确定性可视化用点云表达测量散布与误差范围采样点围绕理论值形成散点带;显示置信区间
教学探究支点作为“可拖、可试错”的探究入口学生拖动 A 观察命题是否保持,进行“拖动不变性”验证
隐藏/辅助点仅为中间计算与构造服务,避免画面杂乱计算垂足、圆心、交点后将辅助点隐藏
记录与表格联动点坐标写入表格,便于统计与导出“记录到电子表格”,或用 SetValue(Cell, x(A)) 等同步

5. 常见问题与技巧

(1)命名问题

GeoGebra 默认点名为 A、B、C…,点多了以后很容易混淆。尤其是后续需要使用程序操控,这样命名方式简直是无从下手。从实战的角度考虑,建议命名方式如下:

Click1=(0,1)
Click2=(0,2)
Click3=(0,3)

这个命名有两部分组成:“click”+数字,前者一眼看出来是什么内容,后者可以区分每个变量。

后续使用程序操作的时候,只需要一个for循环,快速对目标点进行操作,非常便捷。

当然还有复杂的命名方式,比如添加行号、列号,快速定位点的位置,这个就看大家的发挥自由创作,比如这个作品,就需要用到这种复杂的方式: 在这里插入图片描述 养成一个好习惯,从命名开始,非常重要。

(2)交互动画常见的一些命名方式
类别命名技巧示例说明 / 编程价值
几何点大写+编号或功能前缀A1, B2, P_start易于在脚本中引用和循环操作,便于序列生成(Sequence)
控制点 / 参数点前缀 CtrlC + 功能Ctrl_r, C_theta用于动画驱动或参数化函数控制,脚本可直接读取
辅助/中间点前缀 AuxMAux1, M_intersect不显示或灰色,用于中间计算,脚本处理时清晰
函数/曲线依赖点后缀关联曲线或公式P_f, Q_g明确点与函数、曲线对应关系,便于更新或批量操作
序列/批量点下划线+编号P_1, P_2, ..., P_n与 Sequence / List 配合,方便循环生成和操作
角/比例/特殊量点使用希腊字母或描述性缩写θ0, λ1, α_ctrl控制角度、比例或物理量,脚本可直接调用
触发/交互点前缀 BtnSwitchBtn_show, Switch_mode用于点击/拖动触发事件,便于在脚本中绑定 OnClick / OnUpdate
随机/采样点前缀 Rnd + 序号Rnd_1, Rnd_2, Rnd_60与随机函数结合,用于概率、蒙特卡洛模拟,便于批量操作
图形/模块归属前缀模块名 + 功能Tri_A, Tri_B, Tri_O大型图形或课堂演示模型中,将点归类到模块,方便隐藏/显示和调试
表格/数据输出点后缀 _data_valP1_data, P2_val对应表格或数据集合,便于统计/导出/拟合函数
动画轨迹点前缀 T 或后缀 _trA_tr, B_tr用于描迹或路径动画,便于控制显示与刷新
固定/参考点前缀 Ref 或后缀 _fixRef_O, P_fix固定坐标,防止自由点“乱跑”,保证模型稳定性

八荒启对作品的命名方式并不强求,这个看个人喜好,但是售后是肯定需要你出马的,所以怎么命名,还希望慎重(自己都看不懂就尴尬了)。

(3)点太多时如何管理

在复杂动画中,如何进行对象管理是一个很头疼的问题。比如对于点来说,主图形点100个,辅助点100个,控制点30个,随机点2000个,一共是2500个点,如果还是靠再代数区用鼠标滚轮滚啊滚,真是够让人崩溃的。

【1】方法一:使用图层; 将不同功能点集放在不同图层,可单独隐藏或者显示某一个图层,还算方便。

但是图层的使用不够灵活,当我们选择某一个对象为图层5后,后续所有的对象都是放在图形5上,一旦忘记切换,真实难受到爆炸。这种方式常用在游戏的操作上,将底层放到图层0,操作的放到图层9,其他地方很少用。

在这里插入图片描述 【2】方法二:使用“可以被选择”选项;

细心的你肯定发现了这个,取消勾选之后,对应的点在画布上还在,但是无法选择,这样可以避免误触。 在这里插入图片描述 【3】方法三:锁定起来;

每个对象都有锁定按钮,右键可以看到,然后可以选择,但是无法移动。 在这里插入图片描述 【4】方法四:隐藏起来;

这个是常见的一种做法,直接隐藏,但是出现一个新的问题:如果我们需要重新修改或者调整,找对应的点需要在代数区扒拉大半天。

在实战项目中,常常对这种方式进行升级(属于debug部分知识,后续文章会讲到),我们只需要建立一个复选框,把名字改为debug: 在这里插入图片描述 然后选中需要隐藏的点,和这个复选框关联,就OK了。 在这里插入图片描述 当我们取消勾选复选框的时候,对应的点就消失。 在这里插入图片描述

这种方式在实际项目中非常常见。

6. 总结与思考

点的使用非常基础,激活点工具后点击画布即可生成点;如果想进阶一些,就在代数区自己输入一个点;如果想更多学习一些,那就是点的选择、点和图形的应用、点和代数式的应用;当然还有更高阶的,比如使用指令随机生成点;最后呢讲了一些点的管理,比如使用复选框。

本篇整体内容不算复杂,毕竟是基础篇内容,更多是讲解一些实战总结和技巧,给大家开阔视野,方便下一步学习。

三. ✨结尾

本文的配套文件已整理,可以上手试一下,获取方式见文章首部表格。 在这里插入图片描述

最后,用点绘制一棵小树,祝你笑口常开,生活愉快。 在这里插入图片描述


本文收录于微信公众号:八荒启-交互动画,可点击扫码关注,获取更多技术咨询与服务。