kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
В общем случае, кватернионы повсеместно применяются для вычисления вращений, в том числе и в OpenGL. Если кратко, то кватернион - это комплексное четырехмерное число, представляющее поворот на определенный угол вокруг направленного вектора. Композиция последовательных поворотов и вращений вычисляется произведением представляющих эти повороты кватернионов, что значительно сокращает количество вычислительных операций по сравнению с матричными вычислениями. И вот уже когда все повороты сделаны, можно пересчитать результирующие координаты объекта, применив к исходной модели конечный кватернион. То есть, этот результирующий кватернион преобразуем в трехмерную матрицу поворота и умножаем на нее массив с координатами исходной модели. Вроде, как-то так это работает. |
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
Мне сдаётся, в данном случае еще присоединяется проблема непонимания семантики Кватерниона. Я тоже не эксперт в 3D моделировании, но кватернион - не матрица преобразований. Если посмотреть документацию даже по диагонали, то кватернион преобразуется к матричному виду функцией Matrix33. Если попробовать добавить from pyrr import Matrix33 то points = points.dot(Matrix33(matrix)) уже выглядит более исполнимо. Но я далеко не уверен, что это даст верный результат. Потому что кватернионы, если я правильно понимаю, придуманы как раз для того, чтобы избежать матричных преобразований. А мы в этом случае наоборот от него вернулись к матрице. ИМХО, нужно до просветления почитать теорию применения кватернионов в 3Д графике вообще и в данной библиотеке в частности, если есть желание это применять. PS: прошу прощения, но далее углубляться в теорию компьютерного 3D не имею возможности. Умываю руки и желаю удачи в решении задачки. |
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
У вас проблема с пониманием операций над матрицами. При умножении матриц число столбцов левой матрица должно быть равно числу строк правой. У вас левая 6х3, правая - 4х1. Такие матрицы невозможно перемножать по определению. К сожалению, по использованию библиотек ничего не подскажу. Читайте доки. |
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
Еще из курса векторного анализа помню, что поворот фигуры в евклидовом пространстве можно проделать умножением на матрицу поворота. Ну а для перемножения матриц есть функция numpy.dot, которая вовсе не требует "перебора" |
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
А покажите, пожалуйста, вывод команды
|
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
В /etc/mkinitcpio.conf в HOOKS попробуйте bcache перед block поставить. |
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
Как вариант, для пользователя, под которым работает демон, изменить значение umask |
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
Вы какой-то урезанный кусочек выдернули, да еще никак не связанный с вашим недоконфигом. Найдите в гугле картинки по запросу типа "linux iptables packet flow" и смотрите, что там после чего |
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
Тогда логи смотрите. В том числе и xorg. С учетом того, что xorg с правами пользователя запускается |
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
Не факт, что решит проблему, но все же... Покажите, в каких группах состоят пользователи, между которыми вы переключаетесь id user1 id user2 |