2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение02.12.2014, 01:12 


30/11/14
17
Прошу совета, возможно ли использование матричной алгебры для построения модели суперпозиции спиралей? С чего начать? Что потребуется?

Основная идея:
Построение первой винтовой ($S_1$) возможно с помощью матрицы поворота. При этом аппликата ($Z_1$) будет выступать как вертикальная (осевая) образующая. Плоскость $X_1$$Y_1$ будет в этом случае «нормальной плоскостью» (горизонтальная образующая). Если продвигать плоскость $X_1’$ $Y_1’$ параллельную $X_1$ $Y_1$ вдоль оси $Z_1$, то точка ($P_1$) пересечения этой плоскости и винтовой $S_1$ будет описывать окружность с радиусом $R_1$ являющимся кратчайшим расстоянием от осевой образующей ($Z_1$) до первой спирали. При этом точку $O_1’$ пересечения оси $Z_1$ и плоскости $X_1’$ $Y_1’$ можно считать точкой построения первой винтовой линии в точке $P_1$.
Касательная к спирали в этой точке будет вертикальной (осевой) образующей для построения второй винтовой ($S_2$). При этом нормальная плоскость $N$ трёхгранника (ортогональная касательной в точке $P_1$) аналогична плоскости $X_1’$ $Y_1’$ и, при её скольжении вдоль первой винтовой линии, на ней, вторая винтовая будет описывать окружность с радиусом $R_2$ равным кратчайшему расстоянию от точки $P_1$ до точки $P_2$.
Угол ( $\alpha$) между осью $Z_1$ и нормальной плоскостью сопровождающего трёхгранника линии $S_1$ в точке $O_1$ равен углу подъёма (захода) спирали $\alpha$. Угол ( $\gamma$) между нормальными плоскостями $N$ и $X_1’$ $Y_1’$ равен $\gamma=\frac{\pi}{2} - {\alpha}$
Точка $P_2$, как и в предыдущем случае, будет выступать началом новой системы координат для построения последующей третьей винтовой линии $S_3$. В которой касательная к $S_2$ в точке $P_2$ служит вертикальной образующей, а нормальная плоскость сопровождающего трёхгранника аналогична плоскости $X_1’$ $Y_1’$. И.т.д.

 Профиль  
                  
 
 Posted automatically
Сообщение03.12.2014, 22:46 
Супермодератор
Аватара пользователя


20/11/12
5728
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
Причина переноса: формулы не оформлены $\TeX$ом

urgent
Наберите все формулы и термы $\TeX$ом.
Инструкции по оформлению формул здесь или здесь (или в этом видеоролике).
См. также тему Что такое карантин, и что нужно делать, чтобы там оказаться.
После исправлений сообщите в теме Сообщение в карантине исправлено, и тогда тема будет возвращена.

 i  Тема перемещена из форума «Карантин» в форум «Помогите решить / разобраться (М)»
Возвращено

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение04.12.2014, 02:13 
Заслуженный участник


27/04/09
28128
urgent, а не хотите ли попробовать поворачивать кватернионами? См. http://en.wikipedia.org/wiki/Quaternion ... l_rotation. По-моему, они тут, если вместо матриц, упростят дело.

(Оффтоп)

Истинно говорю вам: тут где-то была тема (древняя) про такие спирали.

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение04.12.2014, 20:12 


30/11/14
17
arseniiv в сообщении #940063 писал(а):
не хотите ли попробовать поворачивать кватернионами?


"Здесь" поисковик не определил похожих тем :(

Пожалуйста поясните чем кватернионы, в моём конкретном случае, будут эффективнее матриц .

Был бы благодарен за ссылку на литературу отечественых авторов где хоть вскользь касаются моей задачи.
(с английским трудности :) )

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение04.12.2014, 21:17 
Заслуженный участник


27/04/09
28128
urgent в сообщении #940329 писал(а):
Пожалуйста поясните чем кватернионы, в моём конкретном случае, будут эффективнее матриц .
Кватернионом можно представить как вектор (просто заменим орты $\vec\imath,\vec\jmath,\vec k$ на кватернионы $i,j,k$), так и вращение. А именно, если мы вращаем вектор $v$ в плоскости с нормальным единичным вектором $n$ (всегда в одну и ту же сторону, если направить вектор на нас, но сейчас не помню, в какую при правой системе координат) на угол $\theta$, результат будет равен $RvR^{-1}$, где$$\begin{aligned} R &= e^{n\theta/2} = \cos\frac{\theta}2 + n\sin\frac{\theta}2, \\ R^{-1} &= e^{-n\theta/2} = \cos\frac{\theta}2 - n\sin\frac{\theta}2. \end{aligned}$$(Заметьте, матрица поворота выражается через ось и угол не так просто. Определить по данному кватерниону вращения ось и угол тоже проще.)

Соответственно, если повращать сначала вращением $R_1$, а потом вращением $R_2$, то результат будет $R_2R_1vR_1^{-1}R_2^{-1} = (R_2R_1)v(R_2R_1)^{-1}$, т. е. композиция вращений — это их произведение.

Плюс в том, что вместо матриц и наборов компонент векторов теперь только кватернионы. В общем случае разные, конечно — у «векторных» нулевая скалярная часть, у «вращательных» единичная длина, но зато они умножаются и складываются всегда однообразно. По одной оси вращения вы сразу же найдёте следующую и т. д., и потом всё это соберёте в одну более-менее понятную (наверно) формулу.

Ну и для вычислений с числами с плавающей точкой, там пишут, большая численная устойчивость, чем при использовании матриц.

-- Пт дек 05, 2014 00:28:49 --

Вот тема, кстати: «винтовая линия на основе винтовой линии». Пятая страница результатов по запросу «винтовая». :-)

Может, и маловато будет…

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение08.12.2014, 11:50 


30/11/14
17
Благодарю. Поразмышляю :) Похоже Вы правы.

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение28.03.2015, 14:57 


30/11/14
17
Нет! У меня не получается )))

Для всего этого нужны определённые способности мышления, увы.. Это как путь от ползающей гусеницы к летающей бабочке - надо дважды пройти фазовые переходы! Но это не возможно!!!

Вот в интернете появилось видео http://www.youtube.com/watch?v=1SzoBpKAzwo в котором человек, по всей вероятности, даёт эту механистичную модель, но без особой математики опять-таки.

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение28.03.2015, 15:38 
Заслуженный участник


27/04/09
28128
urgent в сообщении #996905 писал(а):
Для всего этого нужны определённые способности мышления, увы..
Которые не так уж трудно получить. Не боги горшки обжигают, чтоб вы знали. Видимо, пробелы у вас. :wink:

Напишете, до чего дошли и где застряли — поглядим…

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение28.03.2015, 22:28 


30/11/14
17
arseniiv в сообщении #996932 писал(а):
Видимо, пробелы у вас.

Употребление термина "пробелы" в моём случае - похвала! :D
Правомерно употребить - "то, чего не было"
Уважаемый arseniiv мне даже стыдно предъявить здесь на сайте то что получилось. Извините.. :facepalm:

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение29.03.2015, 21:02 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
urgent
Берем ортонормированный координатный репер (совокупность трех базисных векторов и точки, к которой они «приложены»). Репер можно сдвигать в пространстве и вращать вокруг какой-нибудь оси.
Вот, например, два репера. Один исходный, а другой получен из него сдвигом и поворотом:
Изображение

Я ограничусь только сдвигами репера вдоль его собственных осей и поворотами репера вокруг его осей.
Буду обозначать сдвиги буквой $T$ (от слова translation), а повороты $R$ (от слова rotation).
Запись $T\;x\;d$ означает «сдвинуть репер вдоль его оси $x$ на расстояние $d$».
Запись $R\;y\;\beta$ означает «повернуть репер вдоль его оси $y$ на угол $\beta$».

Точка на винтовой линии $n$-го порядка получается совокупностью сдвигов и поворотов исходного репера. В результате получаем некоторый репер, начало отсчета которого и дает точку на $n$-й винтовой линии. Например, для 3-го порядка последовательность такая:
$\begin{array}{l}T\;z\;h\quad\quad(0)\\R\;z\;\varphi_1\\T\;x\;r_1\\R\;x\;\gamma_1\quad\quad(1)\\R\;z\;\varphi_2\\T\;x\;r_2\\R\;x\;\gamma_2\quad\quad(2)\\R\;z\;\varphi_3\\T\;x\;r_3\\R\;x\;\gamma_3\quad\quad(3)\end{array}$
Радиусы $r_1, r_2, r_3$ — константы, углы $\gamma_1, \gamma_2, \gamma_3$ — тоже константы. А углы поворота вокруг образующей (предыдущей линии) линейно зависят от одного и того же параметра $t$ (можно понимать как время):
$\varphi_1=\omega_1 t+\varphi_{10}$
$\varphi_2=\omega_2 t+\varphi_{20}$
$\varphi_3=\omega_3 t+\varphi_{30}$
От того же параметра зависит $h$:
$h=vt$

Меняя параметр $t$, мы заставляем репер, обозначенный (0), подниматься со скоростью $v$ вверх по оси $z$. Репер, обозначенный (1) (т.е. его начало) — движется по обычной винтовой линии. Репер, обозначенный (2) — по винтовой линии вокруг винтовой линии. И так далее.

Понимаете ли Вы меня?

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение30.03.2015, 00:13 


30/11/14
17
Уважаемый svv спасибо за участие, уже хотел "уходить" за не способностью как либо в этом разобраться.
Да, как мне кажется, понимаю. Но, вопросов при этом огромное количество! Лишь бы у Вас хватило терпения :)

Например, вот в этом выражении не понятно:
Запись $R\;y\;\beta$ означает «повернуть репер вдоль его оси $y$ на угол $\beta$».

Может быть "повернуть репер вокруг его оси $y$..."?

Пока не понятно то, как Вы обозначили в записи движение второго относительно первого... На мой взгляд, получилось, что все три репера имеют свои углы наклона, углы поворота и радиусы относительно "нулевой" аппликаты. То есть, мы получили три независимых винтовых движения, правильно понял?

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение30.03.2015, 00:54 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
urgent в сообщении #997712 писал(а):
Запись $R\;y\;\beta$ означает «повернуть репер вдоль его оси $y$ на угол $\beta$».

Может быть "повернуть репер вокруг его оси $y$..."?
Это я поленился набирать фразу целиком, скопировал предыдущую, и вот результат. Конечно, вокруг оси.

urgent в сообщении #997712 писал(а):
Пока не понятно то, как Вы обозначили в записи движение второго относительно первого... На мой взгляд, получилось, что все три репера имеют свои углы наклона, углы поворота и радиусы относительно "нулевой" аппликаты. То есть, мы получили три независимых винтовых движения, правильно понял?
Движение получается тогда, когда мы начинаем менять параметр $t$. При этом начинают меняться $h, \varphi_1, \varphi_2, \varphi_3$ (линейно от времени).

Реперов здесь аж десять (а то и 11), хотя винтовых линий только три. Это потому, что я разбил построение на совершенно элементарные сдвиги и повороты. Вот, например, как получается первая винтовая линия.
$\bullet$ Исходный репер, неподвижный.
$\bullet$ Следующий — движется от него со скоростью $v$ вверх. В момент $t$ он сдвинулся на $h=vt$ вдоль оси $z$. Выше он обозначен (0).
$\bullet$ Следующий — вращается вокруг оси $z$ предыдущего репера с угловой скоростью $\omega_1$, и в момент $t$ повернут относительно него на угол $\varphi_1=\omega_1 t+\varphi_{10}$. Но его начало отсчета находится там же.
$\bullet$ Следующий — сдвинут на $r_1$ относительно предыдущего вдоль его оси $x$. Но так как предыдущий вращается, то этот тоже вращается. Его начало уже находится на винтовой линии. Он движется по ней, потому что предыдущий репер тоже движется.
$\bullet$ Следующий — повернут относительно предыдущего на постоянный угол $\gamma_1$. Его начало находится там же, где и предыдущего, т.е. движется по первой винтовой линии. Вдобавок благодаря повороту его ось $z$ направлена по касательной. Выше он обозначен (1).
И так далее.

Так получается движение. Но в каждый фиксированный момент для получения результата (точки на кривой) нужно просто проделать некоторые конкретные сдвиги и повороты.

Как видите, здесь довольно много произвольных констант. Если мы хотим рассматривать не самый общий случай, надо их конкретизировать или связать друг с другом. Некоторые связи очевидны, например, $\tg\gamma_1=\frac{\omega_1 r_1}{v}$, другие зависят от Ваших запросов.

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение31.03.2015, 22:54 


30/11/14
17
Спасибо, нашёл первое своё заблуждение:
svv в сообщении #997558 писал(а):
$\begin{array}{l}T\;z\;h\quad\quad(0)\\R\;z\;\varphi_1\\T\;x\;r_1\\R\;x\;\gamma_1\quad\quad(1)\\R\;z\;\varphi_2\\T\;x\;r_2\\R\;x\;\gamma_2\quad\quad(2)\\R\;z\;\varphi_3\\T\;x\;r_3\\R\;x\;\gamma_3\quad\quad(3)\end{array}$

Здесь предполагал, что репер это три действия для каждой точки и вот это - $\begin{array}{2}R\;z\;\varphi_1\\T\;x\;r_1\\R\;x\;\gamma_1\quad\quad(1)\end{array}$ есть одно движение первой точки т.е. винтовая вокруг неподвижной оси $z$ Но, так как в записи все $z,x$ без символов, то и подумал, что имеем три винтовых вокруг одного неподвижного..
Значит, каждая строка это действия отдельного репера? И в конечном итоге, вся последовательность опишет на графике движение одной точки?

Да действительно, получается, что необходимо задать много констант или связей.

В таком случае, что бы не возвращаться, можно ли несколько изменить условия задачи?

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение31.03.2015, 23:09 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
urgent в сообщении #998669 писал(а):
Значит, каждая строка это действия отдельного репера? И в конечном итоге, вся последовательность опишет на графике движение одной точки?
Да, каждая строка — это получение нового репера из предыдущего. И вся эта последовательность дает одну точку (правда, на каждой из винтовых линий). Как видите, на каждую новую линию нужно три репера.

Если чуть-чуть изменить параметр $t$, каждый из реперов немного изменится (подвинется и повернется), ещё чуть-чуть изменим $t$ — опять перестроится вся система реперов, так и получается вся линия (точнее, несколько винтовых линий, которые мы строим, от первой до $n$-й). Процесс легко объяснить компьютеру.

urgent в сообщении #998669 писал(а):
В таком случае, что бы не возвращаться, можно ли несколько изменить условия задачи?
Конечно. Хозяин — барин.
urgent в сообщении #998669 писал(а):
Здесь предполагал, что репер это три действия для каждой точки и вот это - $\begin{array}{2}R\;z\;\varphi_1\\T\;x\;r_1\\R\;x\;\gamma_1\quad\quad(1)\end{array}$ есть одно движение первой точки т.е. винтовая вокруг неподвижной оси $z$ Но, так как в записи все $z,x$ без символов, то и подумал, что имеем три винтовых вокруг одного неподвижного..
Первый вариант: одна винтовая линия вокруг неподвижной оси.

Может, такое сравнение поможет.
$\bullet$ Исходный репер находится на дне шахты лифта.
$\bullet$ $T\;z\;h$ — лифт, равномерно поднимающийся вверх. Или человек, стоящий неподвижно в этом лифте. Высота $h$ линейно растет со временем, хоть в формуле это не показано.
$\bullet$ $R\;z\;\varphi_1$ — человек, который кружится (на одном месте) в центре лифта. Угол поворота человека$\varphi_1$ линейно растет со временем, хоть в формуле это не показано.
$\bullet$ $T\;x\;r_1$ — кулак вытянутой в сторону (на $r_1$) руки человека, кружащегося в лифте. Кулак уже описывает винтовую линию в пространстве. Большой палец поднят вверх.
$\bullet$ $R\;x\;\gamma_1$ — то же, только кулак чуть повернут так, чтобы поднятый большой палец немного наклонился вперед (на угол $\gamma_1$) и стал касательным к винтовой линии, которую кулак описывает.
:-)

 Профиль  
                  
 
 Re: Использовать матричную алгебру в суперпозиции винтовых линий
Сообщение01.04.2015, 00:15 


30/11/14
17
Да, хорошо, понял геометрию. Спасибо.
Как объяснить компъютеру последовательность движений? Как вывести на график все три винтовые?
Как посмотреть движения в динамике?.. допустим в MathCad.. )) пытался работать и над этим.

Можем ли выбрать условия, предлагаемые на видео, адрес которого выше?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group