2016-11-19 67 views
1

我有一個包含多邊形結構的結構的表格,每個表格都包含一個〜100個複數的表格。在C++中遍歷表?

initPoly1(T[0]); 
    ... 
initPoly4(T[3]); 

什麼我做的是插值與其他使用DT每個多邊形(至極去0..1之間,當它到達1它再次從0開始),所以我使用的程序做插補並顯示結果(漸變效果):

animer(T[indice], T[indice+1], dt); 

什麼我堅持是我想創建一個週期/互爲作用,像這樣 T [0],T [1] ... T [1] T [2] ... T [2],T [3],然後T [3],T [0]等等。

有沒有除了我使用2個變量x和y做任何方式:

if(dt == 1.0) 
{ 
    x++; 
    t++; 
    if(t==4) 
    { 
     t=0; 
    } 
    else if(x==4) 
    { 
     x=0; 
    } 
} 
animer(T[x], T[t], dt); 

因爲它減緩我的計劃裏,所以動畫看起來干擾(但它的作品),任何想法改善?

回答

1

可以使用加總

if(dt == 1.0) 
    { 
     x = (x+1)%4; 
     t= (t+1)%4; 
    } 
    animer(T[x], T[t], dt); 

或多個簡單

if(dt == 1.0) 
{ 
    x = (x+1)%4; 
} 
animer(T[x], T[(x+1)%4], dt); 
+0

第二個解決方案是恆星,我試圖找出這樣的東西,但徒勞無功,現在它工作得很圓滑,非常好,謝謝:) – DomainFlag

0

您可以使用一個變量,計算等。 if是可以的,但更傳統的方法是使用%剩餘操作。重新

它減緩我的程序這麼多

…這是一個不正確的分析:這是別的東西,會減慢你的代碼。