)
数学魔法函数学院 第二课《会跳舞的机器人——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 / | / | ●-----● 33这里最长的一条边叫斜边第三章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所以cosx 3/5结果0.64、Cos函数说我最喜欢研究“水平距离”。第五章别死记公式1、很多同学会这样学sin 对边除斜边 cos 邻边除斜边背完就忘。2、其实有更好的理解方法。1想象你在爬楼梯● /| / | / | / | / | ●-----●2你往上爬了多少这是高度Sin负责。3你往前走了多少这是宽度Cos负责。4于是Sin管上下Cos管左右记住这一句话以后学坐标时特别有用。第六章最重要的几个特殊角1、C程序员经常用这些角度角度sincos0°0130°0.50.86645°0.7070.70760°0.8660.590°102、尤其是10°sin0 cos1290°sin1 cos0要记住第七章为什么90°时sin等于11、看机器人↑朝正上方。2、长度11那么水平距离0高度12所以cos0 sin13是不是很合理因为完全向上没有水平移动。第八章C中的sin和cos的使用1、首先#include cmath2、函数调用方法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横坐标xr*cosθ2纵坐标yr*sinθ3这里r 10 θ 45°4计算x 10 × 0.707得到7.075计算y 10 × 0.707得到7.076最终位置(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横坐标xr*cosθ2纵坐标yr*sinθ4、当你真正理解Cos负责左右Sin负责上下以后学习坐标系圆向量游戏开发机器人运动信息学竞赛中的计算几何都会轻松很多。下一课我们将进入更加神奇的内容⚔️《旋转炮台攻击怪兽——极坐标与坐标变换》⚔️你会真正学会用sin()和cos()控制炮台发射炮弹计算怪兽的位置