我有一个包含多边形结构的结构的表,每个结构都包含一个包含~100个复数的表。
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);
因为它让我的程序变得如此之慢,以至于动画看起来令人不安(但它有效),还有什么改进的想法?
答案 0 :(得分:1)
你可以使用sum MODULE
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);
答案 1 :(得分:0)
您可以使用单个变量并计算另一个变量。 if
没问题,但更常规的是使用%
余数操作。重
“这会让我的节目变得太慢
...这是一个错误的分析:它会减慢您的代码。