Я пишу свой собственный детектор столкновений Ray Cast, и время от времени, как один из миллиона раз (что оказывается довольно частым).Я получаю луч, который просто проскальзывает через промежутки между двумя сторонами многоугольника из-за ошибок точки округления.Это действительно раздражает, и я вообще не знаю, как решить эту проблему.Мало того, но кажется, что создатели Box2D имеют ту же проблему:
Осторожно
Из-за ошибок округления, приведения лучей может проскользнуть черезнебольшие трещины между полигонами в вашей статической среде.Если это неприемлемо для вашего приложения, пожалуйста, немного увеличьте ваши полигоны.
Итак, тем, кто действительно делал это раньше, как мне убедиться, что я никогда не переношу этот тип ошибки округлениясо значениями с плавающей запятой?Какие обходные пути вы использовали, чтобы эта проблема никогда не затрагивала вашу программу?
PS Я много читал о числах с плавающей запятой и до сих пор не могу понять, как заставить проблему из одного на миллион уйти.,Там должно быть что-то, что мне не хватает.