Похоже, волновой подход понимается как некоторая оптимизация наивной реализации. Основная концепция заключалась бы в том, чтобы определить момент времени, когда снаряд передает цель. Это можно просто сделать, сравнивая расстояние, пройденное «волной» от его начала («wave_velocity * (time_now - time_fired)
») до расстояния до цели до начала этой волны.
Как только два расстояния станут равными (или волна пройдет мишень), подшипник от начала волны до текущего местоположения цели может быть рассчитан и сравнен с подшипником снаряда. Если эти два подшипника достаточно близки друг к другу, цель считается «ударом»; в противном случае цель была упущена, и снарядом можно было пренебречь для дальнейших вычислений. (Предполагая, что цель не может двигаться быстрее, чем снаряд.)
Оптимизация в этом заключается в том, что для каждого временного шага нужно рассчитывать и сравнивать только пару расстояний, чтобы определить, требуется ли фактическая «проверка чека» выполняться. Таким образом, снаряды не должны прослеживаться ровно в двух (или трех) измерениях, но только на одном (расстоянии), что может сэкономить значительное количество вычислений.
спасибо! но отображаемая волна всегда попадает в цель по мере ее расширения. какой основной факт я, кажется, пропустил здесь? – Julian
Я думаю, что волны - это способ вычислить, какой угол стрельбы должен был быть_, чтобы поразить цель –
ах .. Думаю, я понял это сейчас! благодаря! – Julian