向量相等
- 几何学中,如果两个向量长度和方向均相等,那么这两个向量相等。
代数学中,如果两个向量维数相同并且相应分量相等,那么这两个向量相等
代码中,我们使用重载的(==)来测试两个向量是否相等, 重载的(!=)测试不想等
D3DXVECTOR u(1.0f, 0.0f, 1.0f);
D3DXVECTOR v(0.0f, 1.0f, 0.0f);
if(u == v) return true; // 相等
if(u != v) return true; // 不相等
程序中比较浮点数
- 比较浮点数时特别注意,浮点数的不确定性,所以我们应该认为两个浮点具有差距
- 我们可以定义一个很小的常量————EPSILON, 可以称为”误差容限“,两个float小于EPSILON,就称为二者近似相等
- EPSILON给出浮点数不精确度的公差
- 代码
const float EPSILON = 0.001f;
bool Equals(float lhs, float rhs) {
// if lhs == rhs their difference should be zero
return fabs(lhs - rhs) < EPSILON ? true : false;
}
专业词汇
- tolerance 公差