Pull to refresh
-1
0

Пользователь

Send message

Давайте уберём кватернионы из всех 3D-движков

Reading time13 min
Views30K
image

Для записи трёхмерных поворотов программисты графики используют кватернионы. Однако в кватернионах сложно разобраться, потому что изучают их поверхностно. Мы просто принимаем на веру странные таблицы умножения и другие загадочные определения, и используем их как «чёрные ящики», поворачивающие векторы так, как нам нужно. Почему $\mathbf{i}^2=\mathbf{j}^2=\mathbf{k}^2=-1$ и $\mathbf{i} \mathbf{j} = \mathbf{k}$? Почему мы берём вектор и превращаем его в «мнимый» вектор, чтобы преобразовать его, например $\mathbf{q} (x\mathbf{i} + y\mathbf{j} + z \mathbf{k}) \mathbf{q}^{*}$? Да кому это интересно, если всё работает, правда?

Существует способ описания поворотов под названием ротор, который относится к области и комплексных чисел (в 2D), и кватернионов (в 3D), и даже обобщается до любого количества измерений.

Мы можем создавать роторы практически полностью с нуля, вместо того, чтобы определять из ничего кватернионы и пытаться объяснить, как они работают задним числом. Это занимает больше времени, но мне кажется, что это стоит того, потому что их гораздо легче понять!

Кроме того, для визуализации и понимания трёхмерных роторов не нужно использовать четвёртое пространственное измерение.

Было бы здорово, если бы начали вытеснять использование и изучение кватернионов, заменяя их роторами. Заменить их очень просто, а код останется почти таким же. Всё, что можно делать с кватернионами, например, интерполяцию и устранение блокировки осей (Gimbal lock), можно сделать и с роторами. Но понимать мы начинаем гораздо больше.
Читать дальше →
Total votes 54: ↑53 and ↓1+52
Comments85

Магия тензорной алгебры: Часть 10 — Получаем вектор угловой скорости. Работаем над недочетами

Reading time7 min
Views16K

Содержание


  1. Что такое тензор и для чего он нужен?
  2. Векторные и тензорные операции. Ранги тензоров
  3. Криволинейные координаты
  4. Динамика точки в тензорном изложении
  5. Действия над тензорами и некоторые другие теоретические вопросы
  6. Кинематика свободного твердого тела. Природа угловой скорости
  7. Конечный поворот твердого тела. Свойства тензора поворота и способ его вычисления
  8. О свертках тензора Леви-Чивиты
  9. Вывод тензора угловой скорости через параметры конечного поворота. Применяем голову и Maxima
  10. Получаем вектор угловой скорости. Работаем над недочетами
  11. Ускорение точки тела при свободном движении. Угловое ускорение твердого тела
  12. Параметры Родрига-Гамильтона в кинематике твердого тела
  13. СКА Maxima в задачах преобразования тензорных выражений. Угловые скорость и ускорения в параметрах Родрига-Гамильтона
  14. Нестандартное введение в динамику твердого тела
  15. Движение несвободного твердого тела
  16. Свойства тензора инерции твердого тела
  17. Зарисовка о гайке Джанибекова
  18. Математическое моделирование эффекта Джанибекова


Введение




Введение на этот раз будет «активным». Мы сразу начнем работать, и, пользуясь результатами предыдущих статей 6 и 9, получим псевдовектор угловой скорости твердого тела, выраженный через параметры конечного поворота.

Итак, путем долгих мучений вручную и, недолгих, но кропотливых преобразований в Maxima, мы пришли к тому, что антисимметричный тензор угловой скорости 2 ранга выглядит так

\Omega_{\,mk} = \left(1 - \cos\varphi \right )\left(\dot u_{\,m} \, u_{\,k} - u_{\,m} \, \dot u_{\,k}\right ) + \sin\varphi \, \left(1 - \cos\varphi \right ) \, u^{\,i} \left( \varepsilon_{\,ijk} \, \dot u^{\,j} \, u_{\,m} - \varepsilon_{\,ilm} \, \dot u^{\,l} \, u_{\,k} \right ) +

+ \sin\varphi \cos\varphi \, \varepsilon_{\,mjk} \, \dot u^{\,j} + \dot\varphi \, \varepsilon_{\,mik} \, u^{i} \quad (1)

Мы говорили о том, что получить псевдовектор угловой скорости можно, свернув (1) с тензором Леви-Чивиты

\omega^{\,r} = \varepsilon^{\,mkr} \, \Omega_{\,mk} \quad (2)

Однако дальнейшее исследование показало, что формула (2) содержит ошибку, которая приводит к получению не совсем верного результата. Отгадка нашлась путем изучения литературы и дальнейшего самостоятельного осмысления результатов из статьи о свертке тензора Леви-Чивиты.

Приглашаю под кат всех, кому интересно, что получилось в итоге.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments8

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

Reading time2 min
Views24K
Некоторое время назад мы заметили, что пока еще нет ни одной базы студенческих проектов и студентов, желающих поучаствовать в таких проектах.

Тогда мы её сделали. Называется talentkit.net. Зарегистрироваться можно тут.

image

Что в ней будет* можно?

Если есть желание в чем-нибудь поучаствовать и развить навыки – можно найти хороший проект. Проект может быть любым — технологический стартап, музыкальная группа, спортивная команда, странные люди снимающие фильм в темноте и т.п.

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

Если вы ВУЗ – узнать, чем на самом занимаются студенты и помочь/не мешать.

Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments41

Как я делал управленческий учет в Excel

Reading time5 min
Views177K
Я работаю обычным аналитиком и, так получилось, что летом 2014 года, участвуя в одном e-commerce проекте, на коленке за 3 недели сделал управленческий учет в MS Excel. Давно планировал и наконец-то решил выложить на Хабр. Думаю, будет полезно малым предпринимателям, понимающим важность управления финансовыми потоками, но не желающим тратить значительное количество времени и средств на ведение управленческого учета. Не претендую на истину в последней инстанции и буду рад иным решениям, предложенным участниками сообщества.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments16

Verve 2: электронный конструктор умных устройств для начинающих + возможность изучить основы электроники

Reading time2 min
Views25K


Современные технологии шагнули далеко вперед, и многие люди и хотели бы обучиться основам электроники, но считают такое обучение очень сложным, если вообще возможным, для непосвященного человека. С другой стороны, те же технологии позволяют создавать универсальные электронные наборы, с помощью которых можно собирать собственные умные устройства, с подключением к Сети, без знаний электрооники.

Проект Verve 2 от компании Inxus — это возможность получить знания по основам электроники, в процессе создания собственного умного устройства (это может быть система удаленного управления, система домашней безопасности и все прочее).

Читать дальше →
Total votes 17: ↑13 and ↓4+9
Comments3

Information

Rating
Does not participate
Registered
Activity