Предположим, у нас есть ракета A с вектором положения и величиной скорости (игнорируя ускорение, как это делают многие игры) и космический корабль B с векторами положения и скорости.Теперь эта ракета, будучи противной ракетой поиска, попытается найти лучший перехват для космического корабля B.
Ракета A имеет два преимущества: она знает исчисление и может вычислять корни полиномов.Тем не менее, ракета, или абстракция, программист все еще изучает исчисление и хочет знать, имеет ли он правильное уравнение.(Полиномиальные корни будут определены хорошим парнем по имени Код Дженкинса-Трауба, реализованный из Netlib)
Для:
Согласно наилучшему предположению программиста, уравнение для перехвата: t sp sv + t sp mv - t mp sv - t mp mv
За исключением того, что я почти уверен, что полностью иду по неверному пути, поскольку, вероятно, должно быть несколько показателейв этом беспорядке;это попытка решить: (sp-mp) (sv-mv) (t)
Мой другой вариант - дифференцирование (sp-mp) (sv-mv) ^ 2, но я хотел получить обратную связьво-первых, отчасти потому, что, если я не ошибаюсь, '(sp-mp)' разрешается до '1'.И это кажется ... странным.OTOH, скорость, с которой эта функция меняется, может быть той, что я ищу.
Итак - Что я ошибся, где и почему?
Спасибо.
Потенциально полезная ссылка на первый поток.
Редактировать:
Суммирование уравнений:
(a + bx) + (c + ex)
(a + 1bx ^ 0) + (c + 1ex ^ 0)
(a + 1) + (c + 1)
нежизнеспособно.
Произведение уравнений:
(a + bx) (c + ex)
ac + aex + cbx + bex ^ 2
Не многочлен (не может решить с Дженкинсом-Траубом) и выглядит не совсем правильно.
ac + 1aex ^ 0 + 1bbx ^ 0 + 2bex ^ 1
ac + ae + cb + 2bex
И, конечно, не то, я думаю.