我正试图围绕一个中心点制作一个模型,我希望它来回摆动(这是一条腿)。我不确定我的条件。特别是当它试图减小角度时。我现在得到的,似乎:
我希望它继续减少直到0,然后再次增加。 (请注意,整个代码块在调用时都处于for循环中。)
P / s:CenterPointVec []是包含x,y和z轴值的向量。
void vertex::AnimatePart()
{
static float angle = 0;
bool goback = false;
if(angle == 0)
{
glTranslatef(CenterPointVec[0], CenterPointVec[1], CenterPointVec[2]);
glRotatef(angle, 1,0,0);
glTranslatef(-CenterPointVec[0], -CenterPointVec[1], -CenterPointVec[2]);
angle += 0.1;
goback = false;
}
if(angle < 46 && goback == false)
{
glTranslatef(CenterPointVec[0], CenterPointVec[1], CenterPointVec[2]);
glRotatef(angle, 1,0,0);
glTranslatef(-CenterPointVec[0], -CenterPointVec[1], -CenterPointVec[2]);
angle += 0.1;
if(angle > 46)
{
goback = true;
cout << "Angle : " << angle << endl;
cout << "Go back? " << goback << endl;
}
}
if(angle > 0 && goback == true)
{
glTranslatef(CenterPointVec[0], CenterPointVec[1], CenterPointVec[2]);
glRotatef(angle, 1,0,0);
glTranslatef(-CenterPointVec[0], -CenterPointVec[1], -CenterPointVec[2]);
angle -= 0.1;
if(angle <= 0)
{
goback = false;
cout << "Angle : " << angle << endl;
}
}
}