我必須在機器人編碼器電機的反饋處理中繪製圖形。所以我基本上有兩個變量,分別是電機編碼器和右電機編碼器。我計劃在x軸和y軸上改變。當我瀏覽互聯網上的一些代碼時,我發現幾乎每個人都在串行事件本身編寫了圖形部分代碼?使用處理的實時圖形繪圖
所以我的第一個疑問是,爲什麼他們在串行事件()函數而不是void draw()中寫入?另一件事是,當我試着寫我在虛空畫(圖碼),它有一個僞代碼是這樣的:
xpos1=0,ypos1=height;
void draw():
line(xpos1,ypos1,xpos,height-ypos);// obviously the data(xpos,ypos) is mapped with the width and height of the processing ide window.
xpos1=xpos;
ypos1=height-ypos;
if(xpos1>=width)
{
xpos1=0;
}
if(ypos1>=height)
{
ypos1=0;
}
所以我能看到只有一小點穿越的處理IDE窗口和我無法看到我的線路已走過的較舊路徑,在我描述的站點情況下,當它們在serial event()中編寫類似的代碼段時,他們在處理窗口中創建了一個完整的圖表。
我在哪裏出錯?還有沒有其他的方法可以使用void draw()來繪製圖形?我想要改變xpos以及ypos,因爲我得到了兩個反饋,包括左電機和右電機。
截圖我試圖圖在不同的幀!
通過稍微做出的圖形顯示類似上面的代碼,但寫入串行事件()在互聯網上公佈的一個截圖:
您可以請發表[mcve]嗎?暫時忘記系列內容。你可以隨時間繪製出'mouseX'變量嗎? –
我認爲這裏有兩個很多的子問題。請將它縮減爲您想要修復的第一件事,並添加Kevin要求的MCVE。它感覺相當廣泛,目前「修復一切」。 – halfer
@KevinWorkman ok讓我試着繪製mouseX變量隨着時間的推移,我會相應地編輯問題。那麼請告訴我爲什麼他們在串行事件()中寫出繪圖代碼而不是void draw()?我向你發送一個參考文件: https://arduining.com/2013/08/05/arduino-and-processing-graph-example/ –