浮動小数点値に非常に小さな値を追加して、同等性テストに失敗するように、わずかな違いにする必要があります。
精度の問題を避けるために、非常に小さな数を追加する代わりに、比較的小さな数を追加することにしました。これは良い解決策ですか?または、さらに小さい数を追加する信頼できる方法はありますか?
matrix.m00 += matrix.m00 * 0.0000001f;
matrix.m11 += matrix.m11 * 0.0000001f;
matrix.m22 += matrix.m22 * 0.0000001f;
読んだ結果、最良の解決策は次の表現可能な浮動小数点数を使用することであることがわかりました。ただし、C# では、これを行うプロセスには、a) 管理されていない/安全でないコードが必要であるか、b)BitConverter
遅すぎるコードを使用しています。したがって、上記の解決策が機能すると考えましたが、問題があるかどうかを知りたいです。