В строках 4-9 листинга 9.2 функция Gamelnitialization () подготавливает матрицу отображения. В строках 13-16 подготавливается матрица проецирования. Поскольку позиция наблюдения и перспектива не изменяются от кадра к кадру, их не нужно пересчитывать, как это обычно происходит в примерах программ, поставляемых с SDK DirectX. В нашем примере матрицы отображения и проецирования создаются только один раз и после этого не изменяются.
В строке 19 листинга 9.2 функция Gamelnitialization () загружает сетчатую модель, которая должна использоваться данным твердым телом. Это сетчатая модель тигра из SDK DirectX.
Инициализация объекта класса d3d_rigid_body начинается в строке 21. В строках 21-24 задаются вращательные характеристики тигра. Вероятно, вас интересует, откуда взяты значения вращательной инерции в строке 23. Они more…
Archive for » September, 2008 «
Центростремительному ускорению соответствует центростремительная сила. Эта сила заставляет частицу отклоняться от прямолинейной траектории движения. Если бы вы сидели на вращающейся частице, вы бы чувствовали, что на вас действует сила, сбрасывающая вас с частицы, действующая в направлении, обратном направлению центростремительной силы. Вы бы почувствовали эту силу, поскольку вы не прикреплены намертво к вращающейся частице, и ваше тело стремится двигаться по прямой. Сила, противодействующая центростремительной, называется центробежной (centrifugal force).
Вот краткий вывод формулы для нахождения центростремительного ускорения с помощью конечных разностей. За незначительный интервал времени At центростремительное ускорение изменяет направление вектора скорости частицы, но не его величину, как показано на рисунке 9.8. На рисунке изменение скорости из-за действия more…
Related posts
Все уравнения, которые мы только что рассмотрели, легко можно применить и для многомерных моделей. Взгляните на наше первое кинематическое уравнение:
dx
Если х - расстояние, пройденное вдоль оси х в двумерной декартовой системе координат, то это уравнение описывает скорость движения материальной точки вдоль оси х, как показано на рисунке 7.8. Движение вдоль оси у можно рассматривать независимо от движения вдоль оси х:
Если нам нужно работать в трех измерениях, точно так же можно записать и скорость движения вдоль оси z:
dz more…
Related posts
Все это можно моделировать - но это сложно. Физики и программисты, занимающиеся физическим моделированием, обычно начинают с упрощения ситуации. Первый шаг - немного отодвинуться. На рисунке 7.2 мы видим то же движение, но в более мелком масштабе. Машина выглядит почти точкой. Все маленькие элементы уже незаметны. Соответственно, положение машины, описанное вектором в некоторой системе координат, - это достаточно хорошее представление ситуации.
Рис. 7.2. Та же машина, рассматриваемая издалека, может быть описана единственным вектором, определяющим ее положение в заданный момент времени
Когда я говорю о материальных точках, именно такую ситуацию я и имею в виду: мы игнорируем форму объекта, его повороты вокруг осей, его размеры, вообще все, что происходит внутри этого объекта, и концентрируемся только на его свойствах, влияющих на его местоположение.Одномерная кинематика more…
Related posts
Изменения в UpdateFrame () вносить не обязательно, хотя в программе на компакт-диске вращение пирамиды и движение позиции наблюдения замедлено. В листинге 5.3 приведена новая функция UpdateFrame ().
Листинг 5.3. Незначительные изменения в функции UpdateFrame()
1 bool UpdateFrame() more…
Related posts
Полицейский поправляет солнечные очки и подходит к остановившейся машине. Водитель машины вздыхает и опускает окно, начиная ритуал. Полицейский заявляет: «Сэр, знаете ли вы, с какой скоростью вы ехали?» Водитель качает головой, и полицейский продолжает: «Больше 100 миль в час». Водитель возражает: «Но я ехал всего 20 минут! Как я мог проехать 100 миль в час, если я ехал меньше часа?»
Что может ответить на это полицейский? Ну, в общем-то, полицейский не обязан это делать, но знающий физику полицейский мог бы ответить: «Это значит, что если бы вы ехали с этой скоростью целый час, вы бы проехали 100 миль». Водитель отпирается: «Но я тормозил и снижал скорость, и если бы я продолжал ехать, я бы проехал меньше 100 миль!»
Замечание more…
