Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 October 25

IB

Ilya Bogdanov in RU Rust GameDev — русскоговорящее сообщество
нужны, они совместно работают
источник

P🍣

Pavel 🍣 in RU Rust GameDev — русскоговорящее сообщество
Ilya Bogdanov
нужны, они совместно работают
Ну для перспективной проекции точно, а вот для вращения иногда только ими можно обойтись + дуал кваты.
источник

P🍣

Pavel 🍣 in RU Rust GameDev — русскоговорящее сообщество
Ilya Bogdanov
Объяснение, которое понимаю даже я - кватернион есть 4 числа, три из которых образуют вектор оси вращения, а четвертое - угол поворота вокруг этой самой оси. Математическая магия позволяет несколько кватернионов перемножить и получить их композицию. Перемножение кватерниона и матрицы трансформации эту самую матрицу "поворачивает"
Я кстати не знал что можно саму матрицу умножать, хитро.
источник

BD

Berkus Decker in RU Rust GameDev — русскоговорящее сообщество
Max Demydenko
А в чем их проблема?
Ты тоже не читал?
источник

MD

Max Demydenko in RU Rust GameDev — русскоговорящее сообщество
Нет, пока что времени не могу выделить.
источник

P🍣

Pavel 🍣 in RU Rust GameDev — русскоговорящее сообщество
Lain-dono
И судя по комментам ещё чуть-чуть и вот-вот, да и можно будет переписывать всё на WGSL
А транслятор WGSL->SpirV написали?
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
kvark: В разработке, уже можно тыкать
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
kvark: Naga и Tint
источник

P🍣

Pavel 🍣 in RU Rust GameDev — русскоговорящее сообщество
В итоге, если использовать знания классической линейки, бивекторы - это детерминанты. 2д бивектор это детерминант из матрицы составленной из двух векторов, 3д бивектор это детерминант базиса и двух векторов. А троейное внешнее произведение (wedge product) это детерминант из 3 трехмерных векторов, что так же называют смешенное произведение.
источник

X

XÆA-XII in RU Rust GameDev — русскоговорящее сообщество
Pavel 🍣
В итоге, если использовать знания классической линейки, бивекторы - это детерминанты. 2д бивектор это детерминант из матрицы составленной из двух векторов, 3д бивектор это детерминант базиса и двух векторов. А троейное внешнее произведение (wedge product) это детерминант из 3 трехмерных векторов, что так же называют смешенное произведение.
Линал ещё не курил
источник

P🍣

Pavel 🍣 in RU Rust GameDev — русскоговорящее сообщество
XÆA-XII
Линал ещё не курил
Надо вкурить подробнее эти ваши внешние произвдения. Забавно, там все достаточно сильно переплетено.
источник

P🍣

Pavel 🍣 in RU Rust GameDev — русскоговорящее сообщество
operator
kvark: В разработке, уже можно тыкать
А оно на гитхабе?
источник

o

operator in RU Rust GameDev — русскоговорящее сообщество
kvark: Naga - да, Tint - на google code
источник

s

suhr in RU Rust GameDev — русскоговорящее сообщество
Pavel 🍣
В итоге, если использовать знания классической линейки, бивекторы - это детерминанты. 2д бивектор это детерминант из матрицы составленной из двух векторов, 3д бивектор это детерминант базиса и двух векторов. А троейное внешнее произведение (wedge product) это детерминант из 3 трехмерных векторов, что так же называют смешенное произведение.
Скорее детерминанты это внешнее произведение.
источник

s

suhr in RU Rust GameDev — русскоговорящее сообщество
Всё-таки основа это алгебраические свойства (линейность, антисимметричность).
источник

P🍣

Pavel 🍣 in RU Rust GameDev — русскоговорящее сообщество
Вопрос на засыпку, зачем нужен slerp если есть формула родригиса :D

https://en.m.wikipedia.org/wiki/Rodrigues%27_rotation_formula
источник

P🍣

Pavel 🍣 in RU Rust GameDev — русскоговорящее сообщество
У меня пока сложилось тако мнение, кваты (или наверно бивекторы) эффективно использовать когда у вас константное вращение вокруг оси, либо же вы интерполируете както более хитро. Если нужно просто повернуть на угол - то формула Родригиса это и есть результат операции с кватами.
источник

P🍣

Pavel 🍣 in RU Rust GameDev — русскоговорящее сообщество
Выходит если ее применять к матрице, то тоже можно преобразовывать существующую матрицу на угол вокруг произвольной оси, без явного использования кватов.
источник

P🍣

Pavel 🍣 in RU Rust GameDev — русскоговорящее сообщество
А вот тут это и сказано «By extension, this can be used to transform all three basis vectors to compute a rotation matrix in SO(3
источник

s

suhr in RU Rust GameDev — русскоговорящее сообщество
Но зачем формула Родрига, если есть бивекторы?
источник