转盘怎么做(抽奖大转盘)

转盘游戏多次出现在小学、初中、高中的数学课本中。所以用GeoGebra模拟下转盘,可以自己设置的地方很多。我们先来看看效果:

转盘怎么做(抽奖大转盘)

从上图可以看出,你可以选择将圆圈平均分成几个区域(3到20个区域),每个区域可以选择自己的颜色(5种颜色可选);此外,还可以选择指针的起始位置和旋转速度。

转盘怎么做(抽奖大转盘)

源文件获取方式,请见文末源文件获取方法请参考文末。

自动旋转10次按钮,顾名思义,点击此按钮自动旋转10次。转动10次后,如果再次点击此按钮,先前的转动结果不会被重置。因此,它可以自动旋转20次、30次等。,从而观察频率的变化。

转盘怎么做(抽奖大转盘)

点击复位按钮,即初始化单击重置按钮进行初始化。

那么,作品是如何制作出来的呢?

看一下制作思路:

指针的随机转动,可转化为圆上一点的随机转动。点的随机转动,又可转化为点的路径值需具有随机性,再用描点指令,即可得到“随机点”。而点的转动角度,即为“随机点”的当前位置与上一次位置之间夹角的角度;由此,涉及到在变化过程中,如何保存变量的数值的问题。而判断指针落在哪一区域,只需知道“随机点”的路径值在哪一区域。

接下来,开始制作。

转盘怎么做(抽奖大转盘)

构建框架

说明及其解释,请见下图:

转盘怎么做(抽奖大转盘)

注意:滑块、圆和点。

转盘怎么做(抽奖大转盘)

注意:序列,均匀分布RandomUniform,元素,长度,RandomElement,CopyFreeObject,旋转,角度,向量。

效果如下:

转盘怎么做(抽奖大转盘)

为避免意外提取旋转数M,将M设置为不允许选择:

转盘怎么做(抽奖大转盘)

转盘怎么做(抽奖大转盘)

扇形效果

滑杆N决定把圆分成几个扇区,生成多个扇区的批量操作,可以用来执行指令。因此,当N被更新时,脚本输入:

转盘怎么做(抽奖大转盘)

注意:执行、删除和扇区。

每个扇区都有一个相应的颜色选择下拉列表,因此:

在表格区域的A1中输入:

={"红色& # 34;, "绿色& # 34;, "蓝色& # 34;, "黄色& # 34;,"黑色& # 34;}

更新时,脚本为:

执行({ & # 34;如果(& # 34;+Row(% 0)+& # 34;≤n,set color(d & # 34;+Row(% 0)+& # 34;,元素(A & # 34+Row(% 0)+& # 34;,SelectedIndex(A & # 34;+Row(% 0)+& # 34;))))"})

执行({ & # 34;SetCaption(%0,Text(& # 34;+Row(% 0)+& # 34;))"})

注意:行顺序(Row)、SetColor (setcolor)、SelectedIndex (selectedindex)、SetCaption (set caption)和Text (text)。

填写A1下拉至A20,然后勾选"显示下拉列表"。对于这部分的理解,请点击链接。

转盘怎么做(抽奖大转盘)

下拉列表的显示与滑块N有关,需要设置显示条件,所以输入:

执行(序列(& # 34;SetConditionToShowObject(A & # 34;+k+& # 34;,"+k+& # 34;≤n)& # 34;,k,1,20))

注意:设置显示条件(SetConditionToShowObject)。

转盘怎么做(抽奖大转盘)

此外,当拉动N时,扇区的颜色需要与下拉列表中选择的颜色一致,因此当更新N时,脚本输入:

执行(序列(& # 34;RunUpdatescript(A & # 34;+k+& # 34;)",k,1,n))

注意:运行RunUpdatescript。

当前部分摘要:

转盘怎么做(抽奖大转盘)

转盘怎么做(抽奖大转盘)

转动效果

想要的效果是:点击旋转按钮——指针开始移动,显示旋转结果。

输入以下说明:

转盘怎么做(抽奖大转盘)

注意:删除未定义的对象和PathParameter。

创建按钮:

转盘怎么做(抽奖大转盘)

注意:赋值(SetValue),UpdateConstruction,StartAnimation,Text,SelectedElement。

在单击旋转按钮之前,您需要预设文本的背景颜色。否则,您需要将旋转按钮最后一行的脚本更改为:

执行({ & # 34;SetConditionToShowObject(text & # 34;+m+& # 34;,k = = 1 & & m = = & # 34+m+& # 34;)"})

转盘怎么做(抽奖大转盘)

转盘怎么做(抽奖大转盘)

统计结果

M0是存储轮换的结果,已经出现的颜色的数量可以简单地通过计算条件来计算。所以:

转盘怎么做(抽奖大转盘)

注意:条件计数(CountIf),追加(Append),TableText (tabletext)。

当前的影响如下:

转盘怎么做(抽奖大转盘)

转盘怎么做(抽奖大转盘)

自动转动

如果能多次自动旋转,自然更好!

假设点击按钮,可以自动旋转10次,那么就可以引入滑杆T了。要使t的每个增量等于单击button1一次,只需使用RunClickscript命令:

转盘怎么做(抽奖大转盘)

我们知道当滑块的速度为1时,滑块从最小值移动到最大值需要10秒。滑块K控制指针的旋转,所以需要调整K的速度V..

转盘怎么做(抽奖大转盘)

当前的影响如下:

转盘怎么做(抽奖大转盘)

之前点击button1,也就是旋转一次。但是用button3发现旋转数M显示错误!

所以:

转盘怎么做(抽奖大转盘)

这是因为给t赋值意味着更新t,所以click脚本(button1)将会运行。

转盘怎么做(抽奖大转盘)

转盘怎么做(抽奖大转盘)

作品完善

为了使下拉列表对应于扇区,文本1、2、3、...应该显示出来,所以:

转盘怎么做(抽奖大转盘)

此外,l6的层需要设置为1。而更新滑块n的脚本需要添加:

执行(序列(& # 34;set layer(d & # 34;+k+& # 34;,0)",k,1,n))

注:SetLayer。

转盘怎么做(抽奖大转盘)

此外,为了防止重置按钮被点击,拉动滑块N来改变区域的数量,因此当N被更新时,脚本输入:

单击运行脚本(按钮2)

至此,整个工作完成!

拓展1

让“改变”触手可及!教你保存变化过程中的值——geo gebra提到,保存随机量的值有很多种方法,但这部作品只保存随机量的当前值和最后值;也可以使用保存随机量所有值的方式——让一个随机量的值成为一个对象。

但由于涉及多个对象,处理起来比较费力,需要多次应用到执行指令中,可读性不高:

转盘怎么做(抽奖大转盘)

两种方式的对比两种方式的比较

由此也可以看出只保存随机量的当前值和前一值的方便性。

拓展2

想一想:这个工作就是让指针旋转。转盘随机移动时指针不动可以做到吗?

如果可以的话,如何在这个作品的基础上进行修改?主要修改的是什么?

本作源文件请评论:转盘。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。系信息发布平台,仅提供信息存储空间服务。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

本文来自网络,若有侵权,请联系删除,作者:李阳一,如若转载,请注明出处:

发表回复

登录后才能评论