当前位置:网站首页>GeoGebra 实例 时钟
GeoGebra 实例 时钟
2022-06-24 09:32:00 【Gigi Princess】
这个实例我是跟着b站一个视频做的,这是链接:
[学用] Geogebra 时钟_哔哩哔哩_bilibili
一、设置外形
首先要画一个圆形,先设置半径、圆心,然后画圆
cR=5
O=(0,0)
cO=Circle(O,cR)
然后设置圆盘上的刻度线
时针、分针和秒针刻度线需要区分,首先在圆上描点,然后绘制刻度线
mPs=Sequence((cR;pi/2-pi/30*k),k,1,60)
mSs=Sequence(Segment(mps(k),0.95*mPs(k)),k,0,60)
hSs=Sequence(Segment(mPs(k),0.9*mPs(k)),k,5,60,5)文字部分,时钟数字1~12
hTs=Sequence(Text(k,0.8*mPs(5*k)-(0.3,0.3)),k,1,12)接着绘画指针
h=Slider(0,24,1)
m=Slider(0,60,1)
s=Slider(0,60,1)设置指针长度
hR=2
mR=3
sR=4设置角度
sA=pi/2-s/60*2*pi
vS=Vector(0,0+(sR;sA))
mA=pi/2-(m*60+s)/60*60*2*pi
vM=Vector(0,0+(mR;mA))
hA=pi/2-(h*60*60+m*60+s)/12*60*60*2*pi
vH=Vector(0,0+(hR;hA))接下来可以将指针设置为自己喜欢的颜色
二、设置动画
将时针、分针和秒针设置为自动转动,设置两个滑动条,速度和时间,v是速度,t是时间
v=Slider(1,120,1)
t=Slider(0,24*60*60,1,v/(8640))现在有两种形式,第一种是通过t来改变s、m、h的值
SetValue(s,Mod(t,60))
SetValue(m,Mod(floor(t/60),60))
SetValue(h,Mod(floor(t/3600),24))第二种形式是通过s、m、h改变t的值
首先要改变进度条让s、m、h可以从60继续拖动自动跳到0
直接更改脚本,在右键属性里
s 脚本:
SetValue(t,Mod(t+1,86400))
SetValue(s,Mod(s+1,60))
SetValue(m,Mod(floor(t/60),60))
SetValue(h,Mod(floor(t/3600),24))m脚本:
SetValue(t,Mod(t+60,86400))
SetValue(s,Mod(s+1,60))
SetValue(m,Mod(floor(t/60),60))
SetValue(h,Mod(floor(t/3600),24))h脚本:
SetValue(t,Mod(t+3600,86400))
SetValue(s,Mod(s+1,60))
SetValue(m,Mod(floor(t/60),60))
SetValue(h,Mod(floor(t/3600),24))接下来,添加按钮:启动、停止、现在时间按钮
启动 脚本:
StartAnimation(t,True)停止 脚本:
StartAnimation(t,False)
StartAnimation(h,False)
StartAnimation(m,False)
StartAnimation(s,False)现在时间 脚本:
ST=系统时间在()
SetValue(t,ST(4)*3600+ST(3)*60+ST(2))接下来添加屏幕
添加文本设置脚本:
floor(h/10) 余式(h,10) : floor(m/10) 余式(m,10) : floor(s/10) 余式(s,10) 差不多就这些,下图是我设置的时钟,点击现在时间就可以将时间更新到当前时间

边栏推荐
- Directly applicable go coding specification
- port 22: Connection refused
- Algorithm -- find and maximum length k subsequence (kotlin)
- Idea cannot save settings source root d:xxxx is duplicated in module XXX
- 如何解决独立站多渠道客户沟通难题?这款跨境电商插件一定要知道!
- June 13-19, 2022 AI industry weekly (issue 102): career development
- Handling method of Oracle data file header SCN inconsistency
- Literature Research Report
- Thinkphp5清除runtime下的cache缓存,temp缓存,log缓存
- 转:三星电子CEO:一切决策都要从认清自己开始
猜你喜欢

Five heart matchmaker

Zero foundation self-study SQL course | having clause

Conseils étonnants pour promouvoir les ventes d'entreprise avec le chat en direct

CF566E-Restoring Map【bitset】

字节跳动-面试官: 谈下音视频同步原理,音频和视频能绝对同步吗?

The ambition of JD instant retailing from 618

PRCT-1400 : 未能执行 getcrshome解决方法

LeetCode: 240. 搜索二维矩阵 II

5 minutes, excellent customer service chat handling skills

医学图像开源数据集汇总(二)
随机推荐
Leetcode-- string
字节跳动-面试官: 谈下音视频同步原理,音频和视频能绝对同步吗?
Thinkphp5 multi language switching project practice
如何规范化数据中心基础设施管理流程
顶刊TPAMI 2022!基于不同数据模态的行为识别:最新综述
ssh远程免密登录
ORA-16038 ORA-19502 ORA-00312故障处理
Ora-28000 error after upgrading Oracle 12C to 19C
Endgame P.O.O
June 13-19, 2022 AI industry weekly (issue 102): career development
latex公式及表格识别
Niuke.com string deformation
五心红娘
LeetCode: 377. 组合总和 Ⅳ
Oracle查看数据文件头SCN信息
CF566E-Restoring Map【bitset】
An open source monitoring data collector that can monitor everything
IDEA 无法保存设置 源根 D:XXXX在模块XXX中重复
leetcode--字符串
Conseils étonnants pour promouvoir les ventes d'entreprise avec le chat en direct