你如何說明一件事?
這個房間裡有多少人,桌上有幾隻筆,邱老師有多重,台北到高雄有多遠,上課的時間有多久,樂高十字軸多長,聲音多大聲。
一般我們都是用形容詞回答上面的問題,很多,很久,很大,很長。但是每個人心中的基準都不相同,於是你的『很多』跟我的『很多』就很可能產生差異。
如果以上的狀況都是利用數字表示,房間有10個人,邱老師有100公斤重,上課時間一小時。將一件事物量化後,大家在溝通上就有比較的標準。
機器人的運作需要相同精確的標準,所以感應器、馬達都是使用數值進行控制。數值搭配數學運算就能產生更多變化。
不論是光源感應器的數值計算,機器人超音波的距離,機器人轉動方位,馬達轉動角度,都需要數學運算的配合。讓我們瞭解樂高機器人軟體的數學運算功能。
EV3軟體 (X3)
在EV3樂高機器人的圖控軟體中(X3),數學運算是如何撰寫的呢?我們以最簡單的四則運算為例,將兩個數值先相加再除以二,資料的傳遞都是透過資料線,程式如下:
由於圖控的特性,每個運算子都需要用到一個數學命令方塊,程式很容易就會迅速膨脹。這時我們可以使用EV3軟體的新功能簡化數學運算,縮小圖控所佔的空間。這就是Math – Advanced 功能。
EV3軟體的Math – Advanced功能最多可以輸入四個變數代號ABCD,運算功能表列如下:
+ Add 加
- Subtract 減
X Multiply 乘
÷ Devide 除
% Modulo 模數
^ Exponent 指數
- Negate 負數
floor – Floor 傳回無條件捨去小數的整數值
ceil – Ceil傳回無條件捨去小數的加1整數值
round - Round傳回四捨五入的整數值
abs – Absolute 絕對值
log- Log 常用對數
ln – Ln 自然對數
sin – Sin 正弦值 Sine
cos – Cos 餘弦值 Cosine
tan – Tan 正切值 Tangent
asin – Asin 反正弦值 ArcSine
acos – Acos 反餘弦值
ArcCosine
atan – Atan 反正切值ArcTangent
sqrt - Square Root 平方根值
NXT軟體 (NXT-G)
NXT-G的數學運算也是需要一堆命令方塊,(如下圖上半部程式),後來有人提供MathScript Block,可以一次輸入六個變數,提供整數運算的加減乘除(+-x/)、模數(%)、次方(^)等功能。(如下圖下半部程式)
沒有留言:
張貼留言
探奇歡迎大家留言討論!謝謝分享你的意見。