ベクトルを正規化すると、その長さは1になります。ただし、長さメソッドの結果は0.99999982です。
それが正しいか間違っているかはわかりません。しかし、それを印刷すると、結果は1になります。0.99999982ではありません(coutによって印刷されます)
しかし、std :: coutはそれが1であることをどのように知っていますか?[これが私の最初の質問です]
そして別の質問は、関数を比較した結果がなぜ偽であるかということです。
以下のような比較方法があります。また、lhsはベクトルの長さであり、rhsはちょうど1です。
return (fabsf(rhs-lhs) <= FLT_EPSILON) ? true : false;
このメソッドの結果はfalseです。
正規化されたベクトルの長さは、正規化されたと見なされるのはすでに間違っていますか?またはイプシロンが小さすぎますか?
私は何を間違えましたか?