1.时钟系统
实现效果:鼠标拖拽时钟指针转动,鼠标只要按着时钟就会始终面向鼠标,转完后,时间会调整
知识点:
1.三角函数
2.勾股定理
首先我们来讲勾股定理(望你精神状态处于良好的状态)
对于一个直角三角形
根据以上公式可以推出任何一个直角三角形的斜边。
用C++代码表示如下
// 不会C++的根据注释理解一下
#include <iostream>// 导入库文件
#include <cmath>
#include <algorithm>
using namespace std;// 使用命名空间(基础格式)
int main()// 主函数(基础格式)
{
int a, b;// 定义底边和高的变量
cin >> a >> b;// 输入
cout << sqrt(a * a + b * b)// 输出a的平方+b的平方和的开方,也就是斜边c;
return 0;
}
然后浅浅的讲一下函数
函数就是关系
例如:θ=sin(x)
这是一个函数sin的使用,在这个式子中,x叫做自变量,θ叫做因变量,这是什么意思呢?意思是x先自己改变,然后θ变化,因为x变了。
这听起来不好理解,举一个形象的例子,你爸爸是自变量,你是因变量,那你们之间的函数就是:你=儿子(你爸爸),你们的关系,叫父子关系,更加确切地说,是儿子关系。
三角函数
这是三角形角度与边长的关系。
当然有反三角函数。
以下比较复杂,我们用最简单的scratch来做演示
反三角函数,顾名思义,就是把一些东西颠倒,那应该颠倒什么呢?应该颠倒的倒是自变量和因变量的关系。
好了,实现时钟功能。
首先我们要设置时钟中央为坐标轴(0,0)
时钟的原理是角度(0~360)= asin(a / c);
也就是邻边 / 斜边
而斜边的计算需要勾股定理。
我们就能开始套公式了。
首先,我们要明白,如果指针根部在scratch舞台0, 0的位置,那么获取到的邻边为
然后 ,通过勾股定理求斜边
scratch的角度是-180~180,所以我们要用映射把另一面的转动实现。
我们可以用C++编写,告诉电脑我的鼠标位置,判断应该角度多少,而使用C++,python等语言编写可以省去下面的映射
多说一句scratch中的面向[]的效果和以上代码等价,但是请注意,C++等代码语言中可没有面向!