任亞飛
為了使用Scratch繪制立體圖形,我們需要具備一些向量和三角函數(shù)的基礎知識,通過讓圖形移動和縮放我們可以更好地掌握這些知識。
點:數(shù)學概念點是最簡單的圖形,在Scratch中用平面直角坐標系定位。
向量:具有大小和方向的量就叫向量,用于描述事物去哪里。
表現(xiàn)為箭頭,尖端為向量頭,另一端為向量尾。在字母上加箭頭表示,如V。向量可以執(zhí)行加減法和乘法運算。
向量加法:向量的加法用平行四邊形法則和三角形法則。新向量表示為a和b的起點重合后,以它們?yōu)猷忂厴嫵傻钠叫兴倪呅蔚囊粭l對角線或者表示為將a的終點和b的起點重合后,從a的起點指向b的終點的向量。
向量減法:向量a和b的相減,可以看成是a向量加上一個與b大小相等,方向相反的向量。表示為a和b的起點重合后,從b的終點指向a的終點的向量(圖1)。
列向量:坐標系中的向量可以用它們的x分量和y分量來表示,這叫列向量表示法。而且向量不需要停留在原點,可以放置在任何地方(圖2)。
乘法:標量k和向量之間可以做乘法,結(jié)果是另一個與方向相同或相反的|k|倍的向量(圖3)。
直線上兩點間的部分就是線段,剛才在Scratch中就是畫筆從坐標(0,0)落筆到(5,3)抬筆。
我們用線段畫出一個小電視。封裝兩個自定義函數(shù)積木。一個線段函數(shù)積木,畫出兩個坐標值間的線段。通過4個變量來控制坐標,其中x和y變量是起始坐標向量尾,x1和y1是向量頭。另一個函數(shù)積木是用線段畫小電視,具體取值見圖4。
通過觀察發(fā)現(xiàn),小電視左右移動是平移X軸,y軸無變化。只需要對向量頭和尾的X軸的標量加減運算,也就是改變x軸坐標值。上下移動則只改變y軸坐標值。通過新建變量“平移x”和“平移y”與函數(shù)積木線段對應的參數(shù)運算后就可以實現(xiàn)小電視的上下左右移動(注:我們每改變一次x、y軸的量,函數(shù)線段和函數(shù)小電視就會重新執(zhí)行一遍,通過視覺感覺是在移動,其實它是在新的坐標上重畫)。本程序用方向鍵控制小電視移動(圖5)。
小電視的縮放其實就是在向量尾和向量頭的坐標上分別對其放大或者縮小,也就是做乘法。通過新建變量“伸縮倍數(shù)”,用a、s鍵控制此變量增減,其值與線段函數(shù)積木參數(shù)的4個變量做乘法運算,以實現(xiàn)小電視的縮放功能(圖6)。
1.基向量
在平面圖形學中,有兩個特殊的向量叫作標準基向量(也就是單位向量)。
i長度為1,方向指向X正方向的向量;j長度為1,方向指向y正方向的向量。
坐標表現(xiàn)如圖7:
結(jié)論:圖形的變化重點就是改變標準基向量(i,j)。
線性變化:通過改變基向量變化向量的操作。變化過程如圖8-圖11。
基向量i。
從i變化到3i-2j。
繪制黃色箭頭向量2i+3j,紅色向量回到i。
再把紅色向量移動到3i-2j,黃色向量跟著變化到6i-j。
那么6i-j是怎么來的呢?
變化過程:變化的是i向量,j向量沒變。
變化后新的基向量3i-2j帶入到2i+3j中。
計算過程就是把i替換成3i-2j。得到的式子(2(3i-2j)+3j=6i-j)。
2.三角函數(shù)知識
A為圓,AC為半徑r=1。點C做垂線相交在角A臨邊上點B形成了一個RT(直角三角形)。
根據(jù)三角函數(shù)關系(sinA=BC/AC=Y/1=y);(cosA=AB/AC=X/1=x)。BC為sinA;AB為cosA。由上得出AB為X軸坐標值,BC為Y軸坐標值(圖12)。
3.旋轉(zhuǎn)
讓小電視轉(zhuǎn)起來,由“旋轉(zhuǎn)度數(shù)”變量來控制,線段的長度在函數(shù)積木里面固定了,由于基向量的長度是1,通過三角函數(shù)知識算出新的基向量。從i分量開始,分量就是cosθ,y分量就是sinθ,轉(zhuǎn)換后的i就是cosθ+sinθ;j分量就等于-cosθ+sinθ。我們就可以把帶入到程序里面去,如圖13。