GGB数学云 GeoGebra多人实验

GeoGebra多人实验

2016年10月9日 人阅读 GeoGebra»探究实验

摘要: 本文介绍基于GeoGebra的多人协同探究实验、共享实验数据的方法。

利用 ggbUtil.experiment() 函数可实现多人共享实验数据,主要有两种用法。

  1. 获取最新的值:ggbUtil.experiment(function(response) {...});

  2. 设置新的值:ggbUtil.experiment({ 变量名: 变量值 }),其中变量值可以是数,或增量值字符串 + 增量值 最小值 最大值- 减少值 最小值 最大值

具体用法见下面 多人操纵小汽车的实验 的例子。

定制HTML代码包含四个按钮,分别控制左右轮的速度:

1
2
3
4
5
6
7
8
9
10
11
12
<div class="text-center">
<p>这是“<a href="/2016/multi-experiment/">GeoGebra多人实验</a>
的演示素材,点下面的四个按钮分别控制左右轮的转速(-5~5)。
</p>
<span id="v_0">0</span>
<button id="v_0_add" class="btn btn-default">左+</button>
<button id="v_0_sub" class="btn btn-default">左-</button>
<button id="v_1_add" class="btn btn-default">右+</button>
<button id="v_1_sub" class="btn btn-default">右-</button>
<span id="v_1">0</span>
</div>
<div id="applet"></div>

完整的js代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// GGB初始化函数
function ggbOnInit() {
ggbApplet.startAnimation(); // 开始动画
applyValues(); // 加载最新的值
// 左加按钮:增加0.5,最小值为-5,最大值为5
$('#v_0_add').click(function() {
applyValues({ v0: '+ 0.5 -5 5' });
});
// 左减按钮:减少0.5,最小值为-5,最大值为5
$('#v_0_sub').click(function() {
applyValues({ v0: '- 0.5 -5 5' });
});
// 右加按钮:增加0.5,最小值为-5,最大值为5
$('#v_1_add').click(function() {
applyValues({ v1: '+ 0.5 -5 5' });
});
// 右减按钮:减少0.5,最小值为-5,最大值为5
$('#v_1_sub').click(function() {
applyValues({ v1: '- 0.5 -5 5' });
});
}
// 加载或应用值:values 为空则加载原来的值,否则应用新值
function applyValues(values) {
function mapValue(v) {
return v === undefined ? 0 : v;
}
ggbUtil.experiment(values, function(response) {
values = response.values;
if (values.v0 !== undefined) {
ggbApplet.setValue('v_0', values.v0);
$('#v_0').text(values.v0); // 显示左轮速度
}
if (values.v1 !== undefined) {
ggbApplet.setValue('v_1', values.v1);
$('#v_1').text(values.v1); // 显示右轮速度
}
});
}
分享到: 更多