在Scratch中角色的移動(dòng)是按一定方向移動(dòng)的,所以方向在角色的移動(dòng)中很重要,,特別是在繪制一些幾何圖案的時(shí)候,,不僅要考慮好移動(dòng)距離,還必須確定好移動(dòng)方向,。 在面向指令模塊中,,有0向上,90向右,,180下移,-90左移,;其實(shí)這時(shí)的角是方向角,,向上方向?yàn)槌跏嘉恢茫槙r(shí)針旋轉(zhuǎn)為正,,逆時(shí)針旋轉(zhuǎn)為負(fù),,這樣-45度方向也315度方向其實(shí)是一樣的。 Scratch的基本積木模塊“碰到邊緣反彈”,,其反彈的時(shí)遵循光線的反射規(guī)律--入射角等于反射角,,這個(gè)角度與角色的方向角之間有入下關(guān)系:如果角色的當(dāng)前方向角為a,當(dāng)角色碰到的是上下水平邊緣反彈后,,其方向角為180-a,;當(dāng)角色碰到的是左右水平邊緣反彈后,其方向角為-a,。利用這個(gè)規(guī)律,,在程序中,如果要角色碰到某角色或顏色后反彈時(shí),,其反彈后的方向就可以用上面的辦法確實(shí),,從而使我們的程序中的反彈效果更符合實(shí)際情況。 還有一個(gè)情況--當(dāng)一個(gè)角色移動(dòng)一四個(gè)角項(xiàng)點(diǎn)時(shí),,如果這個(gè)角色到時(shí)與相鄰兩邊緣相碰,,那么它的反彈方向是如何的呢?,,我在舞臺(tái)上用腳本程序進(jìn)行了驗(yàn)證,,我驗(yàn)證的結(jié)果是反彈后的方向是原來方向的反方向,即:原來是45度方向時(shí),,反彈后的方向是-135,;原來是-45度方向時(shí),,反彈后的方向是135;原來是-135方向時(shí),,反彈后的方向是45,,原來是135方向時(shí)反彈后的方向是-135。 若碰上邊緣與下邊緣,,如果入射角為正/或負(fù),,則出射角為正/或負(fù)。即符號(hào)相同,,兩者和(入射角與出射角)絕對(duì)值為180,,若碰左右邊緣,入射角與出射角符號(hào)相反而已,。 角色的方向(面向):如一個(gè)人導(dǎo)入到舞臺(tái),,默認(rèn)是面向右,即90度,,指從人的中心點(diǎn)到人的頭(即從上到中心點(diǎn))可以看作直線,,其與水平線交點(diǎn)為圓心,該直線與圓心左邊的水平線夾角為90度,。度數(shù):順時(shí)針為正,,逆時(shí)針為負(fù)。 畫線怎么知道方向:在某角色是90度時(shí),,移動(dòng)100步畫的是水平方向,,注:這時(shí)0度到180度是垂直方向(上為0下為180,水平方向垂直0度與180度所在直線),,如果順時(shí)針轉(zhuǎn)60度移動(dòng)100步應(yīng)朝什么方向畫,?應(yīng)朝向右下方向(以上面0~180度坐標(biāo)的150度=90十60),同樣再順時(shí)針轉(zhuǎn)60度為210度(210-180=30,,但由于在下方也是-180度,,故是-150度方向),其他依次類推,。 |
|