От принципа Д'Аламбера до задачи о линейном дополнении (комментарии)
Это сообщение сгенерировано автоматически.
Я думал, что относительно неплохо знаю этот материал. Вы меня чуть не переубедили, в вашей трактовке почему-то переваривался не слишком легко. Больше всего напрягали в математических выкладках следующие вещи:
- отсутствие размерностей у векторов и матриц. при понимании материала пространственный вектор и вектор напряжений, вообще говоря, лежат достаточно далеко друг от друга, неплохо бы их как-то синтаксически различать. формулы всё-таки не компилятор читает, а человек.
- отсутствие описания величин, периодически встречающиеся повторяющиеся величины(c, F и некоторые другие).
- недостаточное количество пояснений к формулам. если бы я не знал, что они означают, было бы достаточно трудно представить себе их физический смысл.
хотя, это, наверно, придирки, я больше физик, чем математик, поэтому мне как-то проще воспринимать материал на объяснениях, физических аналогиях, а не на точной математике.
После прочтения стать осталось много неясностей:
>>Д'Аламбер постулировал, что в системе с идеальными ограничениями, работа этих самых ограничений равна нулю
тот факт что работа идеальных ограничений равна 0 следует из самого определения идеальных ограничений. Д'Аламбер постулировал что если ограничения идеальны то выполняется dW = 0, и следовательно что бы использовать это в дальнейших выкладках требуется "идеализация" ограничений.
Условие стационарности требует равенства 0 градиента лагранжиана, а не его полной производной. Причем в правой части формулы противоречие: сумма полной производной F являющейся скаляром с вектором Jt*lambda.
Не раскрыто что есть обобщенная позиция x и обобщенная скорость v. под обобщенной позицией часто понимают вектор (x1,q1.. xn, qn), под скоростью (v1,w1...vn,wn), по каким координатам в этом случае дифференцировать ограничения что бы получить матрицу якоби (и матрицу якоби ли в строгом смысле?), и почему скорость линейно выражается через позицию? вобщем эта тема не раскрыта.
>>поскольку положения тел после применения ограничивающих сил неизвестны, нужно их как-то приблизить; например, с помощью ряда Тейлора (положения на предыдущем кадре нам известны, новое положение можно представить как xt = xt-1 + r, где r = vt*dt - это искомое "допустимое" смещение)
и далее идет приближения рядом Тейлора ограничений, а не положений. Кстати, интересно, какой смысл имело бы приближение позиций рядом тейлора, ввиду того что в последствии они интегрируются с помощью полученных скоростей.
Жаль, что эта статья оказалась открытой. Я никогда не считал ее законченой и думал, что Экспа держит ее закрытой для прочтения, как черновик. В этой логике есть существенные провалы, помимо тех огрех, которые вы заметили.
tikka
Спасибо за коментарий :) Действительно, некоторые неточности имеют место, попробую по пунктам:
> тот факт что работа идеальных ограничений равна 0 следует из самого определения идеальных ограничений. Д'Аламбер постулировал что если ограничения идеальны то выполняется dW = 0, и следовательно что бы использовать это в дальнейших выкладках требуется "идеализация" ограничений.
Возможно, стоит убрать эту не совсем уместную ссылку на определение идеального ограничения и оставить просто так:
Говоря проще, Д'Аламбер постулировал, что в системе с идеальными ограничениями, перемещения являются "допустимыми" - ортогональными к вектору ограничивающих сил.
> Условие стационарности требует равенства 0 градиента лагранжиана, а не его полной производной. Причем в правой части формулы противоречие: сумма полной производной F являющейся скаляром с вектором Jt*lambda.
Это правда, но и в формуле градиент же, производная скаляра по вектору.
> Не раскрыто что есть обобщенная позиция x и обобщенная скорость v. под обобщенной позицией часто понимают вектор (x1,q1.. xn, qn), под скоростью (v1,w1...vn,wn), по каким координатам в этом случае дифференцировать ограничения что бы получить матрицу якоби (и матрицу якоби ли в строгом смысле?), и почему скорость линейно выражается через позицию? вобщем эта тема не раскрыта.
Моделирование происходит в "ограниченных координатах", мы вычисляем ограничивающую силу. Насчет строгости смысла - не совсем понял, матрица якоби - производная вектора по вектору, поэтому да, смысл строже некуда. Линейное же выражение скорости следует из допущений о линейности и дискретности.
Про Тейлора - да, приближаем ограничивающую функцию в новом положении.
SoRRoW
Щас нам кто-нибудь и расскажет, как должно быть, все пучком!
XperienS
> Говоря проще, Д'Аламбер постулировал, что в системе с идеальными ограничениями,
> перемещения являются "допустимыми" - ортогональными к вектору ограничивающих
> сил.
Из википедии: "Д'Аламбера принцип - из основных принципов динамики, согласно которому, если к заданным (активным) силам, действующим на точки механической системы, и реакциям наложенных связей присоединить силы инерции, то получится уравновешенная система сил". Как то не очень соответствует предложенному вами варианту.
Может начать стоит с принципа Даламбера-Лагранжа: "при движении механической системы с идеальными связями в каждый момент времени сумма элементарных работ активных сил и элементарных работ сил инерции на любом возможном перемещении системы равна нулю." И зачем вообще эта ортогональность(она разве что может помочь восприятию)? Принцип Даламбера-Лагранжа был придуман что бы избавится от необходимости выражения ограничивающих сил. Таким образом если силы в системе идеальны, то мы можем пользоваться выражением [ dW = (F_active + F_inertia) * dr ], откуда уже получаем [ F_external + F_constr = ma ]. Значит нужно идеализировать ограничения и погнали.
>>Это правда, но и в формуле градиент же, производная скаляра по вектору.
Насколько мне известно df(x1,... xn)/dt - общепринятое обозначение полной производной т.е.:
df/dt = (df/dx1) * dx1/dt + ... + (df/dxn) * dxn/dt (df/dxn - частные производные)
градиент обозначается: nabla_f
>>матрица якоби - производная вектора по вектору
и что же это такое, производная вектора по вектору? вот попробуй запиши какое нибудь ограничение на позицию (x, quat) и возьми эту производную. А потом попробуй подставить ее в выражение J * (v, w) = 0
Хотя стоп, возможно это я путаюсь с якоби) "ограниченных координатах" упустил в твоем посте:) читал об этом мельком у Cline, но толком не понял, может подкинешь статью, или ссылку на M. Anitescu and F. Potra, "Formulating dynamic multi-rigidbody contact problems with friction as solvable linear complementarity problems", никак найти не могу.
tikka
Wiki про полную производную: It is a synonym for the gradient, which is essentially the derivative of a function from Rn to R.
Wiki по матрице Якоби: The ith row (i = 1, ..., m) of this matrix is the gradient of the ith component function yi.
По поводу Даламбера - не понимаю, неужели моя формулировка противоречит той что в русской вики? Не похоже. А про идеализацию я и так написал же.
Может я как-то не так понимаю чего от меня требуется?
tikka
Статейка Anitescu вроде тут есть, там в 'cached' работающая ссылка (прямая в download мне выдала что нету такого).
>>It is a synonym for the gradient, which is essentially the derivative of a function from Rn to R.
ок, возможно термин "полная производная" в некоторых источниках отождествляют с градиентом, но зайди в той же вики на страницу gradient, нигде он не обозначается как df/dt, это обозначение соответствует тому смыслу полной производной который я описал.
>>Может я как-то не так понимаю чего от меня требуется?
Меня ввело в конфуз название заголовка, т.к. под принципом даламбера я понимал [F_external + F_constr - m*a = 0] (как написано в русской вики), в английской сказано, что эти 2 принципа синонимы, так что вопрос частично снимается:)
но:
>>Д'Аламбер постулировал, что в системе с идеальными ограничениями, перемещения являются "допустимыми" - ортогональными >>к вектору ограничивающих сил.
возможно я чего то не понимаю но звучит странно. Постулат это некое утверждение, допущение, принимаемое за истину без доказательства, которое стоит в основе теории. Даламбер ничего не постулировал. Он просто сказал "если связи идеальны то работу сил реакций можно не учитывать, потому что она равна 0". Твоя формулировка звучит как "если связи не совершают работы, то факт, что они не совершают работы, принимаем как аксиому".
Если вдуматься а, зачем в дальнейших выкладках тебе это принцип? Идеализация нужна только для того чтобы выразить F_constr через Jt.
>>The ith row (i = 1, ..., m) of this matrix is the gradient of the ith component function yi.
я в курсе что такое матрица якоби:)
Возможно опять же я ошибаюсь, но совершенно необязательно что координаты представляющие позицию в некоей модели после дифференцирования превратятся в скорость, например часто поворот представляют кватернионами, а изменение поворота - угловой скоростью, но: dq/dt = 0.5 * w * q.
Поэтому, если для какого либо ограничения c(x1,..., xn) посчитать строку якоби (dс/dx1,... ,dс/dxn) и затем умножить на (x1,..., xn)
мы не получим полную производную ограничения. Как получают матрицу J: берут полные производные строк и пытаются отделить скорости в отдельный вектор. Полученная матрица возможно и является матрицей якоби, но по каким то таинственным координатам, которые нигде не фигурируют, и мой мозг пока не в состоянии уловить.
tikka
По первым нескольким пунктам - чисто терминологические споры, я не вижу смысла в дальнейшем словоблудии :)
По поводу якоби - я не понимаю твоих претензий, dc/dx * dx/dt == dc/dt. А про вычисление матрицы якоби для конкретных ограничений я знаю, у самого движок написан :)
>>По первым нескольким пунктам - чисто терминологические споры, я не вижу смысла в дальнейшем словоблудии :)
мдээ... у меня по матану 4 по 10 балльной, крутым математиком не назовешь что бы учить других... но это просто безобразие обозначать градиент df/dt, это реально сбивает с толку. По поводу принципа Даламбера, нет тут не в терминологии дело, у тебя просто написано что-то приблизительно на тему, но если попытаться вдуматься, можно сломать мозг. Большинство наверно пробегают глазами "а, ну ортогональность туда-сюда, все как бы ясно", и в итоге в голове каша.
>> dc/dx * dx/dt == dc/dt
Даже если учесть что что у нас опять "расхождения в терминологии" и dc/dx это бессмыслица какая то матрица Якоби, проблема кроется в том что ты отождествил ее с J, а dx/dt с вектором v. Это работает для линейно скорости, но не для угловой. Исходя из этой логики в x должны присутствовать первообразные координат угловой скорости w. WTF.
И да, можно подумать, что бы написать солвер, нужно понимать как он работает:) Я например, как обезьяна, закодил все по бумажке и теперь потихоньку осмысливаю.
tikka
>>мдээ... у меня по матану 4 по 10 балльной, крутым математиком не назовешь что бы учить других... но это просто >>безобразие обозначать градиент df/dt, это реально сбивает с толку. По поводу принципа Даламбера, нет тут не в >>терминологии дело, у тебя просто написано что-то приблизительно на тему, но если попытаться вдуматься, можно >>сломать мозг. Большинство наверно пробегают глазами "а, ну ортогональность туда-сюда, все как бы ясно", и в итоге в >>голове каша.
Дружочек, тут никто не прочит тебя учить, можешь не утруждать себя. У нас матан был ооочень давно, и пользуемся мы забугорной литературой, оттуда и обозначение. Если тебе там показалась полная производная в том определении, которое было у вас на матане - прости. Если считаешь, что обозначение неудачно - можно об этом сказать поспокойнее. Что касается принципа д'Аламбера, то мне кажется эксповская формулировка довольно внятной. По сути то, что ты написал, есть ровно то, что экспа хотел сказать. Сможешь сформулировать более академично и понятно- предлагай.
>>Даже если учесть что что у нас опять "расхождения в терминологии" и dc/dx это бессмыслица какая то матрица Якоби, >>проблема кроется в том что ты отождествил ее с J, а dx/dt с вектором v. Это работает для линейно скорости, но не для >>угловой. Исходя из этой логики в x должны присутствовать первообразные координат угловой скорости w. WTF.
Знаешь, мне представляется, что проблемы нет. Тут скорее x выбран так, что производная его будет {v, w}, а матрица я коби в этих координатах будет J. Мне думается, во вращательной компоненте x просто будет жить мнгновенная ось вращения и угол вращения вокруг нее - вполне себе однозначное представление ориентации, а уж то, что не тот кватернион или матрица, которые ты закодил, так ну и что с того. Цэ ж доказательство, а не инструкция. Вообще-то между нами мне кажется, что там вообще пространство r, а не x должно быть, но производные будут те же.
>>И да, можно подумать, что бы написать солвер, нужно понимать как он работает:) Я например, как обезьяна, закодил >>все по бумажке и теперь потихоньку осмысливаю.
Плохо, дружочек, плохо! Закодил, как обезьяна, старое как мир дерьмо, и собрался защищаться с этим! Ай-ай-ай! Но мы-т о не такие. Гусь, как известно, свинье не товарищ.
>>пользуемся мы забугорной литературой, оттуда и обозначение
Если не составит труда, может просветите меня в какой литературе градиент так обозначается?:)
>>Тут скорее x выбран так, что производная его будет {v, w}
Очень абстрактно и умозрительно, ни в одном пейпере не видел таких координат.
>>Что касается принципа д'Аламбера, то мне кажется эксповская формулировка довольно внятной
Не остался отвеченным вопрос, какой толк в доказательстве от этого принципа.
tikka
Чувак, мне не нравится тон, который ты задал беседе; поэтому я отвечаю тебе последний раз и умываю руки. Ты не удосужился пройти по рефам, указанным внизу, как и вникнуть в материал предоставленный, и начал тупо цепляться к поверхностным огрехам (дабы засветиться?). Так вот по поводу твоих вопросов.
Градиент: референс [1], издательство "Прогресс", формула (2.3.2) - смотри как там обозначается градиент.
Координаты: мы работаем в степенях свободы, и если ты не понимаешь что их 6 на тело, то я не могу сделать ничего кроме отправки тебя к истокам.
Принцип Даламбера: это основополагающий принцип, который позволяет рассматривать движение системы в виртуальных перемещениях. Это немного больше, чем просто фраза.
Тема в архиве.