1-1-2 向量相等

向量相等

  • 几何学中,如果两个向量长度和方向均相等,那么这两个向量相等。
  • 代数学中,如果两个向量维数相同并且相应分量相等,那么这两个向量相等
    u x = v x , u y = v y , u z = v z
    ( u x , u y , u z ) = ( v x , v y , v z )

  • 代码中,我们使用重载的(==)来测试两个向量是否相等, 重载的(!=)测试不想等

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 公差

猜你喜欢

转载自blog.csdn.net/qq_36984327/article/details/80535956