Re: Два шаpика

From
Konstantin Mikheev ()
To
All
Date
2000-02-28T17:15:36Z
Area
RU.ALGORITHMS
From: "Konstantin Mikheev" <fowrell@price.surgut.ru>

Привет, pav <pav@intis.iom.tsc.ru>.

Все нижеизложенное - чистый ИМХОизм.
Я опираюсь только на свои знания движков,
и прошу не считать мои заявления категоричными.

> После совершившегося события, (вначале - это начало :-) находим (один раз)
> времена соударения каждого из шаров (не обязательно двух :-) со стенками и

Если в твоей игрухе супер-алгоритм, который все
это просчитывает для каждого объекта
для каждого изменения его траектории, то
это будет намного сложнее, чем тактовать физику,
и искать пересечения потактово.

Например, у тебя есть скелетная модель, в которой
траектории частей - уравнения не то, что квадратные, а какие-нить
^27, то вычисление таких траекторий, а тем более проверка
на пересечение объектов, следующих этим траекториям -
адский труд. К тому же для такой модели для каждого движения
и для каждой части скелета придется работать с разными траекториями.

Скелет - это частный случай. Вот если ты бежишь по движущемуся
поезду (Unreal Tournament - Rulez!!!) - то здесь твоя траектория
накладывается и на траекторию поезда. Если же тебе на голову
прыгнет какой-нить гад из синей команды ;)), то его траектория
будет уже относительно тебя.
    Таким образом получается, что если кто-то пальнул ракету
с земли, то по пути до того синего урода она должна:
1. Все равно пересчитывать свои пересечения раз 20, так как тот подлец,
сидящий у тебя на голове, будет шевелить всем, чем только может,
и постоянно менять траектории своих конечностей.
2. Этот пересчет должен будет еще учитывать большинство твоих движений.
3. Пересчет должен учитывать движиние поезда (ну, если он поворачивает?)
    Всего этого гиммороя избегаешь, просто используя
обычные, стандартные методы, которые и запрограммировать
проще, и следовательно, потенциально глюков в них будет меньше.

Еще также замечу, что вычисления переменных физики
(типа матриц) во время тиков, часто можно повторно использовать
для прорисовки объектов. Т.е. один раз вычисляешь - и
используешь в двух местах.

Еще я думаю, что тестирование на пересечение -
не самый важный процесс в движке, и реализовать
его будет слишком дорого с точки зрения убитого
программисто-часов. ;)

А вообще идея хороша... Вот те, кто моделирует
_реальные_ процессы, ИМХО, были бы от нее в восторге.
Но, опять же: а не слишком ли большие формулы получатся?

Вообще, я думаю, что в программировании большинства движков
не нужно знать математики больше, чем первый курс
университета, где изучают самое сложное - матрицы. ;)

> С уважением,
>     Милованцев Павел.

Всего вам!



--- ifmail v.2.15dev4
 * Origin: ProNet (2:5020/400)