我刚刚开始使用C ++,目前我正尝试使用vec3
进行线性插值。我使用与float
变量插值相同的代码。我猜这是错的,但我无法弄清楚究竟出了什么问题。
void Interpolate(vec3 a, vec3 b, vector<vec3>& result)
{
float norm;
for (int i = 0; i < result.size(); i++)
{
norm = i / (b - a);
cout << norm << endl;
result[i] = a + norm * (b - a);
}
}
int main(int argc, char **argv)
{
vector<vec3> result(4);
vec3 a(1, 4, 9.2);
vec3 b(4, 1, 9.8);
Interpolate(a, b, result);
for (int i = 0; i < result.size(); ++i)
{
cout << "( "
<< result[i].x << ", "
<< result[i].y << ", "
<< result[i].z << " ) ";
}
return 0;
}
在插值函数中计算法线时,我收到错误告诉我:
没有操作员&#34; /&#34;匹配这些操作数。操作数类型是:int / GLM ::详细:: tvec3。
关于可能导致这种情况的任何想法?