我正在尝试在main.cpp文件中调用此函数,有关如何执行此操作的任何建议吗?
// get new reflected direction
point ReflectivePlane::reflect( ray r ) {
assert( std::fabs( eval( r.pos ) ) <std::numeric_limits<float>::epsilon());
point u = r.dir;
double t = 2.0 * ( a * u.x + b * u.y + c * u.z ) / ( a*a + b*b + c*c );
return point( u.x - a*t, u.y - b*t, u.z - c*t );
}
答案 0 :(得分:0)
创建ReflectivePlane的实例(对象)。 创建Ray对象; 然后调用这个方法。
ReflectivePlane rp(*可能是这里的一些参数*); Ray r(*可能是这里的一些参数*);
rp.reflect(R);