🌟数学魔法函数学院 第二课
《会跳舞的机器人——sin、cos 登场》
一、上节课回顾
上节课,我们认识了一个重要朋友:
🎡弧度
我们知道:
人类日常喜欢角度
计算机C++喜欢弧度
并且学会了转换公式:
弧度 = 角度 × π ÷ 180今天,我们要认识三角函数王国著名的两个函数:
🦸 Sin
🦸 Cos
很多同学第一次见到它们时会觉得:
这是什么奇怪的东西?
学这个有什么用?
实际上:
动画制作、机器人、飞机导航、游戏开发、人工智能……
到处都有它们的身影!
第一章:机器人迷路了
1、程序王国里有一个小机器人:
🤖 小铁
一天,国王给它任务:
向前走10米!
小铁说:
没问题!
2、可是国王又说:
先向右转30°,再走10米。
小铁傻眼了:
原来: ↑ 现在: ↗这时候问题来了:
机器人走完以后,
到底到了哪里?
3、如果不知道位置,
机器人可能:
❌ 掉进河里
❌ 撞到树上
❌ 撞到城堡
4、于是数学王国派出了:
🦸 Sin
🦸 Cos
来解决这个问题
第二章:什么是三角形?
1、先看一个直角三角形:
A ● /| / | / | / | / | ●-----● B C2、其中:
∠C = 90°3、对于角:
(1)有三条边:
斜边 对边 邻边(2)例如:
● /| / | 5 / | 4 / | / | ●-----● 3(3)这里:
最长的一条边叫:
斜边第三章:Sin函数的工作?
1、Sin函数的工作非常简单。
他专门负责:
对边 ----- 斜边2、公式:
sinθ = 对边 / 斜边3、比如:
● /| / | 5 / |4 / | / | ●-----● 34、对于上面的角 X:
对边 = 4 斜边 = 55、所以:
sin(X) = 4/5结果:
0.86、Sin函数说:
我最喜欢研究“高度”。
第四章:Cos函数的工作?
1、Cos函数负责:
邻边 ----- 斜边2、公式:
cosθ= 邻边 / 斜边3、还是刚才那个三角形:
邻边 = 3 斜边 = 5所以:
cos(x)= 3/5结果:
0.64、Cos函数说:
我最喜欢研究“水平距离”。
第五章:别死记公式!
1、很多同学会这样学:
sin 对边除斜边 cos 邻边除斜边背完就忘。
2、其实有更好的理解方法。
(1)想象你在爬楼梯:
● /| / | / | / | / | ●-----●(2)你往上爬了多少?
这是:
高度Sin负责。
(3)你往前走了多少?
这是:
宽度Cos负责。
(4)于是:
Sin管上下
Cos管左右
记住这一句话,
以后学坐标时特别有用。
第六章:最重要的几个特殊角
1、C++程序员经常用这些角度:
| 角度 | sin | cos |
|---|---|---|
| 0° | 0 | 1 |
| 30° | 0.5 | 0.866 |
| 45° | 0.707 | 0.707 |
| 60° | 0.866 | 0.5 |
| 90° | 1 | 0 |
2、尤其是:
(1)0°
sin=0 cos=1(2)90°
sin=1 cos=0要记住
第七章:为什么90°时sin等于1?
1、看机器人:
↑朝正上方。
2、长度:
1(1)那么:
水平距离:
0高度:
1(2)所以:
cos=0 sin=1(3)是不是很合理?
因为:
完全向上没有水平移动。
第八章:C++中的sin和cos的使用
1、首先:
#include <cmath>2、函数调用方法:
sin(x) cos(x)3、注意:
⚠️ x必须是弧度
不是角度!
第九章:第一个sin程序
1、求:
sin(90°)2、参考代码:
#include <iostream> #include <cmath> using namespace std; int main() { double PI = acos(-1); cout << sin(90 * PI / 180); return 0; }3、输出:
1第十章:第一个cos程序
1、求:
cos(60°)2、参考代码:
#include <iostream> #include <cmath> using namespace std; int main() { double PI = acos(-1); cout << cos(60 * PI / 180); return 0; }3、输出:
0.5第十一章:机器人坐标魔法
让我们来进行模拟操作
1、机器人站在:
(0,0)(1)方向:
45°(2)向前走:
10米(3)走到哪里?
2、Cos函数说:
我负责左右距离!
3、Sin函数说:
我负责上下距离!
4、于是:
(1)横坐标:
x=r*cosθ(2)纵坐标:
y=r*sinθ(3)这里:
r = 10 θ = 45°(4)计算:
x = 10 × 0.707得到:
7.07(5)计算:
y = 10 × 0.707得到:
7.07(6)最终位置:
(7.07 , 7.07)5、这就是:
🎮 游戏开发
🤖 机器人导航
🚀 火箭发射
最基础的数学原理!
第十二章:完整程序
#include <iostream> #include <cmath> using namespace std; int main() { double PI = acos(-1); double angle = 45; double r = 10; double rad = angle * PI / 180; double x = r * cos(rad); double y = r * sin(rad); cout << "x=" << x << endl; cout << "y=" << y << endl; return 0; }第十三章:经典错误
1、很多新手这样写:
sin(90)2、错误原因:
程序认为:
90弧度不是:
90度3、正确:
sin(90 * PI / 180)这个错误每年都会有很多同学犯。
第十四章:挑战训练
1、第一题
求:
sin(30°)答案:
0.52、第二题
求:
cos(60°)答案:
0.53、第三题
机器人向右30°方向走20米。
求:
x y提示:
x = r cosθ y = r sinθ4、第四题
机器人向上90°走15米。
求终点。
答案:
x = 0 y = 15本课总结
今天学会了两个三角函数:
1、 Sin
负责:
上下 高度 纵坐标对应:
sin𝜃 = 对边 / 斜边2、 Cos
负责:
左右 宽度 横坐标对应:
cosθ = 邻边 / 斜边3、以及最重要的坐标公式:
(1)横坐标:
x=r*cosθ(2)纵坐标:
y=r*sinθ4、当你真正理解:
Cos负责左右,Sin负责上下
以后学习:
坐标系
圆
向量
游戏开发
机器人运动
信息学竞赛中的计算几何
都会轻松很多。
下一课,我们将进入更加神奇的内容:
⚔️《旋转炮台攻击怪兽——极坐标与坐标变换》⚔️
你会真正学会用sin()和cos()控制炮台发射炮弹,计算怪兽的位置!🚀🤖🌟