http://tm.spbstu.ru/?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%BA%D0%BE%D0%BB%D0%BE%D0%B2_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9._%22%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D0%BA%D0%B0_%D0%BD%D0%B5%D1%81%D1%84%D0%B5%D1%80%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D1%87%D0%B0%D1%81%D1%82%D0%B8%D1%86%22&feed=atom&action=history Обсуждение:Соколов Алексей. "Динамика несферических частиц" - История изменений 2024-03-30T01:18:46Z История изменений этой страницы в вики MediaWiki 1.27.3 http://tm.spbstu.ru/?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%BA%D0%BE%D0%BB%D0%BE%D0%B2_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9._%22%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D0%BA%D0%B0_%D0%BD%D0%B5%D1%81%D1%84%D0%B5%D1%80%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D1%87%D0%B0%D1%81%D1%82%D0%B8%D1%86%22&diff=3111&oldid=prev Kuzkin в 07:45, 24 июля 2011 2011-07-24T07:45:58Z <p></p> <table class="diff diff-contentalign-left" data-mw="interface"> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;' lang='ru'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 07:45, 24 июля 2011</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l13" >Строка 13:</td> <td colspan="2" class="diff-lineno">Строка 13:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&#160;&#160; &#160; &#160; &#160; &#160; \right.&#160; &#160;</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&#160;&#160; &#160; &#160; &#160; &#160; \right.&#160; &#160;</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;/math&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;/math&gt;</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>где &lt;math&gt; {\bf r}_{ij} = {\bf r}_j - {\bf r}_i. &lt;/math&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>где &lt;math&gt; {\bf r}_{ij} = {\bf r}_j - {\bf r}_i. &lt;/math&gt;</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Тогда частицы находятся в контакте, если для одного из углов частицы j выполняется условие</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Тогда частицы находятся в контакте, если для одного из углов частицы j выполняется условие</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;math&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;math&gt;</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&#160;&#160; &#160; (y&gt; |x|~OR~y &lt; -|x|)<del class="diffchange diffchange-inline">~</del>AND<del class="diffchange diffchange-inline">~</del>|y| &lt; a/2&#160; \<del class="diffchange diffchange-inline">qquad&#160; </del>OR&#160; <del class="diffchange diffchange-inline">\qquad </del>(x&gt; |y|~OR~x &lt; -|y|)<del class="diffchange diffchange-inline">~</del>AND<del class="diffchange diffchange-inline">~</del>|x| &lt; a/2.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">&#160; \begin{array}{l}&#160; </ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&#160;&#160; &#160; (y&gt; |x|~<ins class="diffchange diffchange-inline">{\rm </ins>OR<ins class="diffchange diffchange-inline">}</ins>~y &lt; -|x|) <ins class="diffchange diffchange-inline">\quad {\rm </ins>AND<ins class="diffchange diffchange-inline">} \quad </ins>|y| &lt; a/2&#160; \<ins class="diffchange diffchange-inline">\ </ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">{\rm </ins>OR<ins class="diffchange diffchange-inline">} \\</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&#160; (x&gt; |y|~<ins class="diffchange diffchange-inline">{\rm </ins>OR<ins class="diffchange diffchange-inline">}</ins>~x &lt; -|y|) <ins class="diffchange diffchange-inline">\quad {\rm </ins>AND<ins class="diffchange diffchange-inline">} \quad </ins>|x| &lt; a/2.</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">&#160; &#160; \end{array} </ins></div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;/math&gt;</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&lt;/math&gt;</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> </table> Kuzkin http://tm.spbstu.ru/?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%BE%D0%BA%D0%BE%D0%BB%D0%BE%D0%B2_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9._%22%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D0%BA%D0%B0_%D0%BD%D0%B5%D1%81%D1%84%D0%B5%D1%80%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D1%87%D0%B0%D1%81%D1%82%D0%B8%D1%86%22&diff=3110&oldid=prev Kuzkin: Новая страница: «Я бы немного изменил обозначения. Пусть <math> {\bf r}_i, {\bf r}_j</math> - радиус-векторы частиц в непо...» 2011-07-24T07:42:40Z <p>Новая страница: «Я бы немного изменил обозначения. Пусть &lt;math&gt; {\bf r}_i, {\bf r}_j&lt;/math&gt; - радиус-векторы частиц в непо...»</p> <p><b>Новая страница</b></p><div>Я бы немного изменил обозначения.<br /> <br /> Пусть &lt;math&gt; {\bf r}_i, {\bf r}_j&lt;/math&gt; - радиус-векторы частиц в неподвижной системе отсчета. Пусть с каждой частицей связано по два ортогональных вектора &lt;math&gt; {\bf m}_i, {\bf n}_i, {\bf m}_j, {\bf n}_j&lt;/math&gt; (извини, е мне не очень нравится, хотя это дело вкуса :)).<br /> Будем считать, что частицы могут контактировать только углами, т.е. в случае если угол одной частицы находится внутри другой. Для детектирования<br /> контактов будем использовать следующий алгоритм. Запишем координаты углов частицы &lt;math&gt; j &lt;/math&gt; в системе координат (x,y), связанной с частицей i. При этом оси x и y направим таким образом, чтобы векторы &lt;math&gt; {\bf n}_i, {\bf m}_i&lt;/math&gt; совпадали с ортами данных осей. Тогда координаты углов частицы &lt;math&gt; j &lt;/math&gt; определяются соотношениями: <br /> <br /> &lt;math&gt;\left\{ <br /> \begin{array}{rcl} <br /> x = ({\bf r}_{ij} \pm {\bf n}_j \pm {\bf m}_j) \cdot {\bf n}_i \\ <br /> &amp;\\<br /> y = ({\bf r}_{ij} \pm {\bf n}_j \pm {\bf m}_j) \cdot {\bf m}_i \\ <br /> \end{array} <br /> \right. <br /> &lt;/math&gt;<br /> где &lt;math&gt; {\bf r}_{ij} = {\bf r}_j - {\bf r}_i. &lt;/math&gt;<br /> Тогда частицы находятся в контакте, если для одного из углов частицы j выполняется условие<br /> <br /> &lt;math&gt;<br /> (y&gt; |x|~OR~y &lt; -|x|)~AND~|y| &lt; a/2 \qquad OR \qquad (x&gt; |y|~OR~x &lt; -|y|)~AND~|x| &lt; a/2.<br /> &lt;/math&gt;<br /> <br /> Таким образом, для на каждом шаге интегрирования для каждой частицы &lt;math&gt; i &lt;/math&gt; проверяется, находится ли она в контакте с соседними частицами. При этом, в принципе, должны перебираются все частицы &lt;math&gt; j \neq i &lt;/math&gt;. Однако перебор можно существенно ускорить, если ввести радиус обрезания.... Продолжение в том же духе за тобой :) <br /> <br /> [[Участник:Kuzkin|Kuzkin]] 11:42, 24 июля 2011 (MSD)</div> Kuzkin