Вопрос, вероятно, должен заключаться не в том, «где будет находиться корабль, когда пуля попадет в него», а в том, ЕСЛИ пуля его ударит. Предполагая линейную траекторию и постоянную скорость, рассчитайте пересечение двух векторов, один из которых представляет путь снаряда, а другой - путь корабля. Затем вы можете определить время, в которое каждый объект (корабль и пуля) достигнет этой точки, разделив расстояние от исходного положения до положения пересечения на скорость каждого. Если время совпадает, у вас есть столкновение и место, в котором оно произошло.
Если вам нужно более точное обнаружение столкновений, вы можете использовать что-то вроде простого BSP-дерева, которое даст вам не только быстрый способ определения столкновений, но и на какой поверхности произошло столкновение, и, при правильной обработке, точное 3d-местоположение столкновения. Однако может быть сложно поддерживать такое дерево в динамичной среде.