2016-11-19 63 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是可以的,但更传统的方法是使用%剩余操作。重新

它减缓我的程序这么多

…这是一个不正确的分析:这是别的东西,会减慢你的代码。