rzyzzxw 发表于 2019-1-8 08:41:20

【掌控】mpythonX:圆和映射

X系列10
圆和映射

【学习目标】
映射

在数学里,映射是个术语,指两个元素的集之间元素相互“对应”的关系,为名词。映射,或者射影,在数学及相关的领域经常等同于函数。




编程中,映射可是一个很棒的函数。
在scratch中没有映射,只能自己想办法换算。

而有了映射
只要给出上限和下限,函数自动就可以返回映射值。

下面用实例来说明。


运行上面程序,可以把光线值0-4095映射到0-30

圆的半径随光线强度变化

下面改成声音值,运行,对音量传感吹气试试。


下面做个重力小球
让小球根据加速度计的读数而运动

【小知识】
为什么是X获取加速度Y向,而y获取加速度X向的值。
加速度传感器能够测量由于重力引起的加速度,传感器在加速过程中,通过对质量块所受惯性力的测量,利用牛顿第二定律获得加速度值。掌控板上的加速度计可测量加速度,测量范围为 -2g 到 +2g 之间。掌控板的测量沿3个轴,每个轴的测量值是正数或负数,正轴越趋近重力加速度方向,其数值往正数方向增加,反之往负数方向减小,当读数为 0 时,表示沿着该特定轴“水平”放置。
[*]X - 向前和向后倾斜。
[*]Y - 向左和向右倾斜。
[*]Z - 上下翻转。
https://mpython.readthedocs.io/zh/latest/_images/xyz.png

读上面资料,发现我们要用到x y两个方向的加速度

Y对应的是屏幕左右
X对应屏幕上下

在相对静止状态时XY轴的加速度取值范围为+1---1

所以有下面的映射关系。


运行下,是一个重力感应的小球

【任务:】
改程序为向上走的气泡。
准备思考下,做个简单的水平仪
页: [1]
查看完整版本: 【掌控】mpythonX:圆和映射