Как квантовать кватернион

Я пытаюсь квантовать кватернион, скажем, в 24 бинах.

Если бы это был трехмерный вектор, я мог бы вычислить скалярное произведение между моим вектором и нормалями для polyhenron поверхности, а затем выберите ближайшую. Или выполните проекцию Hammer-Aitoff, а затем проквантуйте ее в UV-пространстве.

Но я не уверен, как правильно квантовать кватернион, поскольку это 4D-вектор. Любая помощь горячо приветствуется.

ОБНОВЛЕНИЕ. В качестве примера предположим, что у нас есть 100 000 уникальных кватернионов, и я хочу уменьшить их число до 100, приблизив некоторые из них к своим соседям. Вопрос в том, как выбрать эти 100, чтобы расстояние между кластерами было максимальным, а расстояние внутри кластера минимальным?


person Pavel Podlipensky    schedule 24.09.2017    source источник
comment
Похоже, вы имеете в виду более геометрический, чем чисто математический контекст, и в этом случае, я думаю, вы могли бы преобразовать его в углы Эйлера и оттуда выполнить квантование.   -  person meowgoesthedog    schedule 24.09.2017
comment
Может быть лучше квантовать другое представление с более линейным угловым шумом и более компактным представлением? например экспоненциальная карта. или вектор вращения en.wikipedia.org/wiki/   -  person minorlogic    schedule 25.09.2017
comment
@MBo не знаю, как мне здесь поможет slerp...   -  person Pavel Podlipensky    schedule 25.09.2017
comment
@meowgoesthedog, что вы подразумеваете под чисто математическим контекстом?   -  person Pavel Podlipensky    schedule 25.09.2017
comment
@minorlogic, как бы вы квантовали вектор вращения?   -  person Pavel Podlipensky    schedule 25.09.2017
comment
После того, как вы объясните кластеризацию - slerp выключен.   -  person MBo    schedule 25.09.2017
comment
линейное квантование   -  person minorlogic    schedule 25.09.2017
comment
Звучит как хорошее приложение для k-средних.   -  person Nico Schertler    schedule 25.09.2017


Ответы (1)


Если вы имеете дело с трехмерными единичными векторами, одной из стратегий будет выбор многогранника, который приближается единичная сфера с 24 гранями. Используя вектор для барицентра, назначьте каждый входной вектор ячейке, соответствующей лицу, чей (нормализованный) вектор от начала координат до барицентра имеет максимальное скалярное произведение.

Если вы не ошибаетесь, вы можете использовать аналогичный подход для кватернионов unit*.

Создайте, например, 24-cell. Это 3-многообразие в 4D, вершины которого лежат на единичной 3-сфере, изоморфен единичным кватернионам. Вероятно, вы можете найти код для создания 24-ячеечный, или построить его согласно википедии, взяв выпуклую оболочку всех перестановок вектора [ ± 1, ± 1, 0 , 0 ].

Снова присвойте каждому входному кватерниону xi+yj+zk+w ячейку, соответствующую ячейке, чей (нормализованный) вектор от начала координат до барицентра имеет максимальное скалярное произведение на четырехмерный вектор [x,y,z,w].

*Я предполагаю, что вы на самом деле имеете дело с единичными кватернионами (также известными как трехмерные вращения), а не с кватернионами произвольной нормы. Для них, я думаю, это то же самое, что квантование произвольных 4D-векторов.

person Alec Jacobson    schedule 12.01.2018