為了做斜線運動,上面其實有很多東西可以拿來討論,當初為了讓每個動作在1格內做完,所以通常動作的開始和當束都是以柱子為基準點。
而當要做斜線時,就打破了這件事的原則。
為什麼?
以45度來說,為了讓入彎和出彎可以達到最正確的的動作,在做45度彎時,以直線轉斜線來說,通常都需要提早轉,我稱為借步(向前一個動作借);而斜線轉直線時,又會延後轉,我稱為還步(還給後一個動作)。因為有借有還!
不過就因為如此,在做路徑規劃時,就要針對這個45度的動作特別規劃,我在做的時後,為了這個動作想了很久,最後只好在遇到45度時,在前一個直線做借,後一個動作做還的動作,而我為了這件事,重新定義了一個命令,就是半步9cm,原本的全步是18cm。
不過之前因為想法一直局限著,我的動作必需在一格內做完,所以我的動作的極限就很有限。所以為了讓轉彎速度提升,我必需先在命令上做手腳,需要讓所有的動作都變成有借有還的方式,不過之前在做這樣的動作時,程式上因為搞不清楚到底命令在那一格,導至我在做校正的時後,遇到很多瓶頸。這幾天想到了一個有趣的方式。就是以前一直局限著自己的想法,一定要將每個動作都以柱子為基礎點,假設我把基礎點換在格子的中心呢?那是不是會比較容易?
45度因為先天就已經需要在格子中心,所以不需要再考慮了。
好像似乎可行,而且,似乎也比之前只針對45度動作做處理還要簡單,因為每個轉彎的動作都需要"有借有還",竟然是這樣的話,在寫程式就不需要針對單一動作做特殊的處理,只要統一就行了,這樣程式除好寫之外,還可以更驗證自己的想法!
如果運氣不錯的話,只要轉彎的動作做的夠正確的話,應該就可以將轉彎的速度提升了,或許就可以再更進一步的向前邁進了(笑)!
沒有留言:
張貼留言