Редактирование: Проект "Фехтование"
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 134: | Строка 134: | ||
Визуализация движения подразумевает нахождение траектории движения. Здесь мы встретили проблему: необходимо разбить весь поворот на малые, последовательное применение которых в конечном итоге и приведет руку в заданное положение и при этом мы получим траекторию движения. Если мы просто разделим углы на количество шагов и будем каждый раз поворачивать руку на эти малые углы то в случае когда каждый сустав вращается вокруг только одной оси все будет хорошо, но в случае поворота вокруг двух и более осей вместе с поворотом вектора также будет вращаться и связанный с ним базис в результате каждый следующий малый поворот будет осуществляться вокруг уже немного повернутых осей и мы придем уже в другое положение чем если мы один раз применим тензор поворота с полными углами.<br> | Визуализация движения подразумевает нахождение траектории движения. Здесь мы встретили проблему: необходимо разбить весь поворот на малые, последовательное применение которых в конечном итоге и приведет руку в заданное положение и при этом мы получим траекторию движения. Если мы просто разделим углы на количество шагов и будем каждый раз поворачивать руку на эти малые углы то в случае когда каждый сустав вращается вокруг только одной оси все будет хорошо, но в случае поворота вокруг двух и более осей вместе с поворотом вектора также будет вращаться и связанный с ним базис в результате каждый следующий малый поворот будет осуществляться вокруг уже немного повернутых осей и мы придем уже в другое положение чем если мы один раз применим тензор поворота с полными углами.<br> | ||
'''Решение:'''<br> | '''Решение:'''<br> | ||
− | Решение оказалось довольно таки простым и не усложнило программу. Теперь вместо того чтобы поворачивать руку на небольшие углы а потом из нового положения поворачивать ее дальше было решено поворачивать руку на каждом шаге из начальной точки траектории с каждым шагом все на большие углы. Т.е. разбив полные углы поворота на несколько частей (малые углы ,количество которых равно количеству шагов) на каждом шаге мы поворачиваем из начального положения руку на углы равные <math>\varphi_i = \Delta \varphi\cdot i</math> где i - порядковый номер шага. | + | Решение оказалось довольно таки простым и не усложнило программу. Теперь вместо того чтобы поворачивать руку на небольшие углы а потом из нового положения поворачивать ее дальше было решено поворачивать руку на каждом шаге из начальной точки траектории с каждым шагом все на большие углы. Т.е. разбив полные углы поворота на несколько частей (малые углы ,количество которых равно количеству шагов) на каждом шаге мы поворачиваем из начального положения руку на углы равные <math>\varphi_i = \Delta \varphi\cdot i</math> где i - порядковый номер шага. |
'''Оптимизация траектории:'''<br> | '''Оптимизация траектории:'''<br> | ||
Возникла идея оптимизировать траекторию движения. Имеется в виду оптимизация по изменению угла. Т.е. сделать так чтобы система осуществляла переход в новое положение таким образом что изменение углов в суставах было бы минимальным.<br> | Возникла идея оптимизировать траекторию движения. Имеется в виду оптимизация по изменению угла. Т.е. сделать так чтобы система осуществляла переход в новое положение таким образом что изменение углов в суставах было бы минимальным.<br> |