- 給孩子的計(jì)算思維書(shū):圖形化編程及數(shù)學(xué)素養(yǎng)課(基礎(chǔ)篇)
- 昍爸
- 892字
- 2023-06-29 17:06:34
2.2 角色的平移
有了坐標(biāo)系統(tǒng)這個(gè)武器,我們就可以精確地描述角色在平面上的運(yùn)動(dòng)啦。比如,小貓從原點(diǎn)向左移動(dòng)300步,再向下移動(dòng)200步,就到了圖中點(diǎn)C的位置,其坐標(biāo)為(-300,-200)。如果在這個(gè)位置再向右移動(dòng)600步,那就到達(dá)了D點(diǎn),坐標(biāo)為(300,-200)。
我們發(fā)現(xiàn),角色向右運(yùn)動(dòng)多少步,它所到達(dá)的新位置的y坐標(biāo)不變,而x坐標(biāo)就是在原x坐標(biāo)的基礎(chǔ)上加上運(yùn)動(dòng)的步數(shù)所得的數(shù)。比如上面的例子中,從C點(diǎn)(-300, -200)向右運(yùn)動(dòng)600步,新位置的坐標(biāo)就是:(-300+600, -200)=(300, -200)。對(duì)應(yīng)地,向左運(yùn)動(dòng)多少步,新位置的x坐標(biāo)就要在原來(lái)x坐標(biāo)的基礎(chǔ)上減去多少步。類(lèi)似地,向上或向下運(yùn)動(dòng)則保持x坐標(biāo)不變,y坐標(biāo)相應(yīng)地加上或減去運(yùn)動(dòng)的步數(shù)即可。
小練習(xí)
(1)小貓開(kāi)始位于坐標(biāo)為(-80, 120)的位置,經(jīng)過(guò)下面的移動(dòng)后,到達(dá)的新位置坐標(biāo)是多少?
①向左移動(dòng)50步;
②向上移動(dòng)40步;
③向右移動(dòng)70步。
解:
第一種方法,我們可以逐步算出每一次移動(dòng)后,小貓到達(dá)的位置。
向左移動(dòng)50步后,小貓的坐標(biāo)為(-80-50, 120)=(-130, 120);
向上移動(dòng)40步后,小貓的坐標(biāo)為(-130, 120+40)=(-130, 160);
向右移動(dòng)70步后,小貓的坐標(biāo)為(-130+70, 160)=(-60, 160)。
第二種方法,我們直接考慮小貓經(jīng)過(guò)水平和垂直方向的移動(dòng)后最終到達(dá)的位置。小貓最終位置的x坐標(biāo)為-80-50+70=-60,y坐標(biāo)為120+40=160,因此,最后新位置的坐標(biāo)為(-60, 160)。
(2)小貓開(kāi)始位于坐標(biāo)為(180,-30)的位置,現(xiàn)在要移動(dòng)到坐標(biāo)為(-200,50)的位置,請(qǐng)問(wèn)小貓可以怎么移動(dòng)才能到達(dá)上述目標(biāo)位置?
解:
-200-180=-380,50-(-30)=80
這里,負(fù)數(shù)-380表示小貓要向左移動(dòng),而正數(shù)80表示小貓要向上移動(dòng)。所以,小貓從原來(lái)的位置向左移動(dòng)380步,向上移動(dòng)80步,就可以到達(dá)新的位置。
好了,講了這么多坐標(biāo)和平移的知識(shí),我們趕緊來(lái)編寫(xiě)我們的第一個(gè)程序,讓小貓動(dòng)起來(lái)吧。
我們讓小貓從原點(diǎn)開(kāi)始向右移動(dòng),每次向右走20步,然后停頓1秒,一共走4次后停下。
我們從運(yùn)動(dòng)類(lèi)積木中找到和
這兩個(gè)積木,然后在控制類(lèi)積木中找到
積木,將它們拖曳到代碼區(qū),將
這一積木的10改成20,按下面上圖中的方式搭好積木。

如果我們想觀察一下執(zhí)行上面的代碼后小貓所處位置的x坐標(biāo),只要在最后增加下面這個(gè)外觀類(lèi)積木就行。

單擊小綠旗后,小貓從原點(diǎn)(0,0)向右移動(dòng)了80步,并說(shuō)出當(dāng)前的x坐標(biāo)為80。
