🌟数学魔法函数学院 第三课
《旋转炮台攻击怪兽——极坐标与坐标变换》
一、故事开始:怪兽来袭!
1、程序王国的边境出现了一群怪兽!
👾👾👾👾👾
国王十分着急:
“快!快启动皇家魔法炮台!”
于是,小程序员阿Q来到了城墙上。
2、他看到一个神奇的炮台:
👾 ? / / / 🔥 炮台3、这个炮台有两个参数:
(1)参数1
炮弹飞多远
例如:
10米 20米 50米(2)参数2
炮台旋转多少度
例如:
30° 45° 60°(3)国王问:
“阿Q,炮弹最后会落到哪里?”
阿Q懵了。
因为炮台只告诉了:
距离 方向却没有告诉:
x坐标 y坐标(4)于是数学王国最厉害的两位英雄来了:
🦸 Sin函数
🦸 Cos函数
第二章:地图上的坐标
我们先认识坐标系。
1、地图长这样:
y ↑ | | | ----------+--------→ x | | |2、原点:
(0,0)3、例如:
(3,5)4、表示:
向右3格 向上5格●(3,5) | | ----------+--------→5、在程序中:
int x = 3; int y = 5;就表示这个位置。
第三章:两种表示位置的方法
阿Q发现:
位置其实有两种表示方式。
1、第一种
(1)坐标表示法
(x,y)(2)例如:
(3,4)(3)这种方式告诉我们:
向右多少 向上多少(4)叫做:
🏠 直角坐标系
2、第二种
方向+距离
(1)例如:
距离10米 方向45°(2)叫做:
🎯 极坐标
(3)所以:
(3,4)和
长度5 方向53°其实表示同一个点!
3、这就像:
中文
你好
英文
Hello
意思一样,
只是表达方式不同。
第四章:什么是极坐标?
炮台使用的就是极坐标。
1、例如:
长度 = 10 角度 = 45°2、表示:
从原点出发:
先转45° 再走10米3、画出来:
● / / / O4、这里:
r = 10 θ = 45°5、记作:
(r,θ)第五章:极坐标变坐标
1、最重要的内容来了!
(1)炮弹飞行:
长度 = r 角度 = θ(2)怎样求:
x y?
2、还记得上节课吗?
(1)Cos函数负责:
左右距离(2)Sin函数负责:
上下距离(3)于是得到最重要公式:
横坐标:
x=r*cosθ纵坐标:
y=r*sinθ这是重要的公式之一!
必须理解!
不要死记!
第六章:实战一——攻击45°怪兽
1、怪兽位置:
方向45° 距离10米2、即:
r = 10 θ = 45°3、已知:
cos45°≈0.707 sin45°≈0.7074、计算:
x = 10×0.707得到:
7.075、计算:
y = 10×0.707得到:
7.076、怪兽坐标:
(7.07,7.07)第七章:实战二——攻击60°怪兽
1、怪兽位置:
方向60° 距离20米2、即:
r=20 θ=60°3、已知:
cos60°=0.5 sin60°≈0.8664、计算:
x=20×0.5得到:
105、计算:
y=20×0.866得到:
17.326、怪兽位置:
(10,17.32)第八章:C++中实现炮台定位
1、输入:
距离 角度2、输出:
坐标3、参考代码:
#include <iostream> #include <cmath> using namespace std; int main() { double r; double angle; cin >> r >> angle; double PI = acos(-1); 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; }4、输入:
10 455、输出:
x = 7.07107 y = 7.07107第九章:反向思考
1、阿Q忽然问:
如果知道坐标,能不能求距离和方向?
答案:
当然可以!
2、例如:
(3,4)3、求距离:
根据勾股定理:
r=sqrt{x^2+y^2}4、计算:
√(3²+4²) =√25 =55、得到:
r=56、这叫:
坐标 → 极坐标
7、而我们今天学的主要是:
极坐标 → 坐标
第十章:现实中的应用
1、同学们可能会问:
学这个有什么用?
用途可大了!
2、游戏开发
人物发射子弹
方向 速度求位置
3、无人机
飞行方向
飞行距离
求坐标
4、GPS导航
汽车行驶
求位置变化
5、机器人
移动控制
路径规划
6、信息学竞赛
计算几何
图形变换
模拟题
经常出现。
第十章:记忆口诀
今天必须记住:
1、🎯 极坐标
长度 + 方向2、🏠 直角坐标
x + y3、Cos函数:
负责左右 负责横坐标4、Sin函数:
负责上下 负责纵坐标5、最终公式:
x=r*cosθy=r*sinθ挑战任务
第一题
怪兽在:
距离10米 方向30°求坐标。
提示:
cos30°≈0.866 sin30°=0.5第二题
怪兽在:
距离50米 方向90°求坐标。
第三题
怪兽在:
距离100米 方向0°求坐标。
第四题(竞赛思维)
有100个怪兽。
输入:
r θ求所有怪兽坐标。
思考:
使用C++实现的步骤?
本课总结
今天我们学会了一个特别重要的思想:
同一个位置,可以用两种语言描述!
一种叫坐标:
(x,y)一种叫极坐标:
(r,θ)下一课《三角魔法挑战赛——综合应用》中,我们将把三角函数真正用到:
🕒 时钟夹角问题
🎡 摩天轮运动问题
🚀 火箭发射问题
🤖 机器人巡逻问题