Перейти к содержанию

Tokamak physics engine

Материал из Викиверситета
Основная статья: Физические движки

Tokamak Game Physics SDK (далее – Tokamak) – физический движок, работающий в режиме реального времени, который распространяется на основе свободной лицензии BSD с открытыми исходными кодами.

Основные функции

[править]

Создание элементов

[править]
neSimulator
  • CreateRigidBody - создание тела, объект класса (neRigidBody)
neGeometry
  • SetBoxSize - задать размеры прямоугольного параллелепипеда
  • SetSphereDiameter - задать диаметр сферы
neRigidBody - тело
  • SetRotation(Quaternion) - задать вращение тела через кватернион
neQ — кватернионы
  • Set(ZRotation, ZAxis) - задать кватернион, ZRotation - угол поворота по отношению к оси Z, ZAxis - вектор, задающий ось Z
neJoint — соединение
  • EnableLimit(), SetLowerLimit(), SetUpperLimit() - ограничение на поворот вокруг оси Х
  • EnableLimit2(), SetLowerLimit2(), SetUpperLimit2() - ограничение на вращение вокруг своей оси

Документация

[править]

Использование freeglut для визуализации

[править]

freeglut — библиотека утилит для приложений под OpenGL, которая в основном отвечает за системный уровень операций ввода-вывода при работе с операционной системой. Из функций можно привести следующие: создание окна, управление окном, мониторинг за вводом с клавиатуры и событий мыши. Она также включает функции для рисования ряда геометрических примитивов: куб, сфера. С того времени, как оригинальный OpenGL Utility Toolkit (GLUT) прекратил развитие, freeglut начал развиваться с целью улучшения предоставляемого инструментария.

Основные функции

[править]
  • glutSolidCube(size) — Рисует куб со сторонами размера size
  • glutSolidSphere(radius, slices, stacks) — Рисует сферу радиусом radius. slices - число делений вокруг оси Z (подобно линиям долготы), stacks - число делений вдоль оси Z (подобно линиям широты).

Кватернионы и прочая математика

[править]

Кватернион, если кратко, есть совокупность скаляра – величина поворота, и вектора – ось, вокруг которой поворот совершается.

Совмещение векторов

[править]

Задача. Есть два вектора один произвольный, второй ориентирован параллельно оси Ox. Они совмещены центрами. Задача найти матрицу поворотов, которая совмещала (одинаково ориентировала) бы эти два вектора.


См. также

[править]

Примеры использования

[править]