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. Они совмещены центрами. Задача найти матрицу поворотов, которая совмещала (одинаково ориентировала) бы эти два вектора.


См. такжеПравить

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