Просмотр сообщений
|
Страниц: 1 [2] 3 4 ... 188
|
16
|
Программирование / Алгоритмы / Re: Определить конечный угол вращения составного объекта
|
: Март 19, 2021, 14:01
|
Т.е. грубо говоря, что то вроде: Entity { // Некий контейнер - большой куб, содержит под-объект - малый куб. components: [ Mesh { source: "qrc:/assets/models/big-cube.obj" }, Transform { // Содержит все 3-д свойства большого куба (матрицы и прочее) }, PhongMaterial { ambient: "green" } ] Entity { // Некий чайлд - малый куб components: [ Mesh { source: "qrc:/assets/models/small-cube.obj" }, Transform { // Содержит все 3-д свойства малого куба (матрицы и прочее) }, PhongMaterial { ambient: "red" } ] } }
Так вот, надо как то найти углы поворота малого куба относительно глобальной неподвижной системы координат (или как там она называется), после того как мы повращали большой куб, а в нем - еще и малый вокруг их локальных координат.
|
|
|
18
|
Программирование / Алгоритмы / Определить конечный угол вращения составного объекта
|
: Март 19, 2021, 13:47
|
Всем привет еще раз. Этот вопрос следует из предыдущего поста, где речь шла об определении проекций вектора гравитации на оси акселерометра. Но теперь задачка немного другая.. А допустим что акселерометр (условно - некий объект) находится внутри какого-то другого объекта (ну, или лежит на нем). И у каждого из объектов есть возможность их поворота по трем осям X,Y,Z (см рисунок). 1. Изначально угол поворота акселерометра и его "контейнера" равны нулю, относительно земли (некоей неподвижной системы отсчета). 2. Далее, допустим, что акселерометр крутанули вокруг какой-то оси на какой то угол, например на 30 градусов. 3. Теперь мы повернули и сам контейнер вокруг той же оси на какой-то угол, например 30 градусов. 4. Вопрос, а каким теперь будет угол поворота акселерометра вокруг этой же оси относительно земли? Очевидно, что в этом частном случае что на картинке - он будет 60 градусов? Но как быть в общем случае, когда вращение идет в пространстве? Можно ли просто суммировать углы поворота вокруг осей каждого из объектов (а вдруг их будут больше двух, например, акселерометр может лежать на черепахе, которая может наклоняться в любую сторону, и сама черепаха стоит на слонах, которые тоже могут играть в присядки)? Или же опять нужно что-то городить в матрицами? Если да, то как это делается? При этом, как я понимаю, каждый объект имеет свою матрицу и прочие 3-д параметры
|
|
|
19
|
Программирование / Алгоритмы / Re: Определить проекции вектора гравитации на три оси зная углы поворота по осям
|
: Март 19, 2021, 12:16
|
Ну стало быть найти вектор гравитации в СК прибора.
Агаа... Спасибо.. Вопросы: 1) // матрица прибора, порядок вращений XYZ QMatrix4 m; m.rotate(angleZ, 0, 0, 1); m.rotate(angleY, 0, 1, 0); m.rotate(angleX, 1, 0, 0);
А надо ли мне делать это, если, к примеру, мой 3-д объект имеет Transform айтем? Там уже есть как бы матрица 4x4.., то я могу взять ее? 2) Нужно ли нормализовать эту матрицу в диапазон 0-1 (типа чтобы потом делать m.mapVector()) ? Если да - то как?
|
|
|
20
|
Программирование / Алгоритмы / Re: Определить проекции вектора гравитации на три оси зная углы поворота по осям
|
: Март 19, 2021, 11:31
|
Не понял. Может так: Есть вектор гравитации G - он направлен всегда вниз по оси Z. Его длина всегда равна 1-це. Есть акселерометр, у него есть тоже три оси X,Y,Z (типа система координат, связанная с ним). Допустим, если он лежит горизонтально, то его ось Z совпадает с вектором гравитации Z, а оси X,Y - перпендикулярны.. В итоге имеем, что проекция гравитации на ось Z - равна 1-це, а на остальные оси - по нулям. Теперь, вращаем акселерометр вокруг оси Y, против часовой стрелки на 45 градусов. Тогда угол альфа станет 45 градусов - и следовательно, проекции вектора гравитации на оси акселерометра изменятся. Теперь добавится какая то составляющая по оси X, а по оси Z - уменьшится.. Так вот.. найти эти составляющие - проекции. Получается сложнейшая система из 3-х линейных уравнений относительно A2x, A2y, A2z. Именно, и по ходу нерешаемая. Может есть другие варианты как это делается?
|
|
|
22
|
Qt / Qt-инструментарий / Re: Использование QtCreator-а для для программирования микроконтроллеров, без Qbs
|
: Январь 24, 2021, 23:15
|
Подниму эту мертвотему и на правах рекламы скажу, что сейчас уже много чего возможно используя Qbs в связке с QtCreator или VSCode. Если у кого есть время и желание и знание джавы, то он может попробовать запилить плагин и для эклипса. Это очень увлекательное и интересное занятие. Без Qbs будет хреновенько с подсветкой инклудов компилера, предопределенных макросов компилера, да и вообще не комильфо.
|
|
|
25
|
Qt / Вопросы новичков / Re: quint16 uint16_t
|
: Декабрь 28, 2020, 11:47
|
и я бы еще завернул структуры в pragma pack и их аналоги. чтобы точно знать что будет передано то что надо.
и датастрим тут избыточен, имхо.
|
|
|
29
|
Qt / Дополнительные компоненты / Re: Создаю QBS плагин для VS Code
|
: Декабрь 21, 2020, 17:32
|
UPD: По поводу "отключенных" узлов в дереве проекта пока сделал их отображение в виде зачеркнутого текста (см. картинку). Но как-то смотрится не очень.
Может какие-нить "кошерные" юникод символы для таких узлов в конце вставлять? Типа могилки, крестиков и прочих? )
Типа: ❌ , ✗, † , ✂,
|
|
|
30
|
Qt / Дополнительные компоненты / Re: Создаю QBS плагин для VS Code
|
: Декабрь 21, 2020, 15:58
|
Сейчас окошко "outline" отображается строго в файлэксплорере.
А что это за окошко? Моешь заскринить? В СМаке плагине оно есть (где)? Как я писал в дискорде. Есть небольшая проблемка, когда плагин пытается использовать протухший тулчейн.
Тут я хз, надо разбираться почему тут successfully )) Как видно, запускаемый таргет обозначен ракетой
Нашел ракету, но сюда ее не вставить - она портит тут сообщение. а uninstall - зелененький.
А что это за таргет? Почему он зеленый? Может это просто ты забыл в Гит добавить его? (т.к. оно вроде зеленым помечает новые файлы/директории, которые еще не запушены в гит).
|
|
|
|
|