<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791866</guid>
        <pubDate>Wed, 06 Mar 2019 06:32:54 +0000</pubDate>
        <title>Центр вращения</title>
        <link>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791866</link>
        <description><![CDATA[Hsilgos: update.<br>Идею понял, но мне кажется не сработает в моем случае. Он накладывает ограничение на точки, считая что они связаны матрицей вращения/изменения масштаба. В моем случае это не так и в моем случае способ через крутящий момент выглядит чуть более подходящим]]></description>
        <author>Hsilgos</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791850</guid>
        <pubDate>Tue, 05 Mar 2019 22:16:21 +0000</pubDate>
        <title>Центр вращения</title>
        <link>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791850</link>
        <description><![CDATA[Hsilgos: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Пусть нам надо найти вращение на плоскости переводящее точку A в точку C, а B -&gt; D.<br>
Запишем систему уравнений<br>
R * ( A - O ) = C - O<br>
R * ( B - O ) = D - O,<br>
здесь R - матрица поворота, O - центр вращения.<br>
Запишем R например, так:<br>
| s -t |<br>
| t s | <br>
Строго говоря, эта матрица не только поворачивает, но и изменяет масштаб в случае, если расстояние между точками A и B не равно расстоянию между точками C и D.<br>
Далее получаем ( вычитая одно уравнение из другого ):<br>
R * ( B - A ) = D - C<br>
Это система двух уравнений с двумя неизвестными s и t.<br>
Получив матрицу R находим центр вращения О, используя одно из начальных уравнений ( или их сумму для симметрии ).<br>
Это тоже система двух уравнений с двумя неизвестными</div></div><br>
<br>
Спасибо, постараюсь завтра разобраться, если что, вернусь с вопросами]]></description>
        <author>Hsilgos</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791838</guid>
        <pubDate>Tue, 05 Mar 2019 18:31:52 +0000</pubDate>
        <title>Центр вращения</title>
        <link>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791838</link>
        <description><![CDATA[prografix: Пусть нам надо найти вращение на плоскости переводящее точку A в точку C, а B -&gt; D.<br>Запишем систему уравнений<br>R * ( A - O ) = C - O<br>R * ( B - O ) = D - O,<br>здесь R - матрица поворота, O - центр вращения.<br>Запишем R например, так:<br>| s -t |<br>| t  s | <br>Строго говоря, эта матрица не только поворачивает, но и изменяет масштаб в случае, если расстояние между точками A и B не равно расстоянию между точками C и D.<br>Далее получаем ( вычитая одно уравнение из другого ):<br>R * ( B - A ) = D - C<br>Это система двух уравнений с двумя неизвестными s и t.<br>Получив матрицу R находим центр вращения О, используя одно из начальных уравнений ( или их сумму для симметрии ).<br>Это тоже система двух уравнений с двумя неизвестными.]]></description>
        <author>prografix</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791816</guid>
        <pubDate>Tue, 05 Mar 2019 16:40:54 +0000</pubDate>
        <title>Центр вращения</title>
        <link>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791816</link>
        <description><![CDATA[MBo: &gt; но как я понимаю в случае когда надо посчитать абсолютную величину это не важно,<br><br>Ну как это - например, скалярное произведение перпендикулярных векторов нулевое, а векторное - максимально.]]></description>
        <author>MBo</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791798</guid>
        <pubDate>Tue, 05 Mar 2019 11:22:17 +0000</pubDate>
        <title>Центр вращения</title>
        <link>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791798</link>
        <description><![CDATA[Hsilgos: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Любые две точки составляют вектор</div></div><br>
Я же не спорю, я лишь обозначил как точки связаны.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Я подозреваю, что это всё-таки физика ( &quot;Принимаем их за приложенные силы к некому рычагу&quot; ), а не математика ( чистое вращение ).</div></div><br>
Я подозреваю так же. Решение которое я привел явно оперирует векторами и явно отсылается к вот <a class='tag-url' href='http://hyperphysics.phy-astr.gsu.edu/hbase/vctorq.html' target='_blank'>этому</a> уравнению.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Если всё-таки это то, о чём я писал выше ( Нужно найти центр вращения, которое переводит точку А в С, а точку В в D ), то я могу описать своё решение такой задачи.</div></div><br>
Было бы неплохо, хотя бы в общих чертах.]]></description>
        <author>Hsilgos</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791790</guid>
        <pubDate>Tue, 05 Mar 2019 09:31:05 +0000</pubDate>
        <title>Центр вращения</title>
        <link>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791790</link>
        <description><![CDATA[prografix: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414362&view=findpost&p=3791787'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hsilgos &#064; <time class="tag-quote__quoted-time" datetime="2019-03-05T09:04:08+00:00">05.03.19, 09:04</time></span><div class='quote '>Да, в изначальной задаче есть координаты всех четырех точек и известно что AC и BD составляют вектор.</div></div><br>
Любые две точки составляют вектор. Я подозреваю, что это всё-таки физика (  &quot;Принимаем их за приложенные силы к некому рычагу&quot;  ), а не математика ( чистое вращение ).<br>
Если всё-таки это то, о чём я писал выше ( Нужно найти центр вращения, которое переводит точку А в С, а точку В в D ), то я могу описать своё решение такой задачи.]]></description>
        <author>prografix</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791787</guid>
        <pubDate>Tue, 05 Mar 2019 09:04:08 +0000</pubDate>
        <title>Центр вращения</title>
        <link>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791787</link>
        <description><![CDATA[Hsilgos: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Что такое E? <br>
Что такое точка вращения? </div></div><br>
Да, прошу прощения, упустил.<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Выражение для torque - не скалярное, а косое (векторное) произведение</div></div><br>
Да, но как я понимаю в случае когда надо посчитать абсолютную величину это не важно, так как длинна вектора при векторном произведении численно равна площади прямоугольника при скалярном?<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Нужно найти центр вращения, которое переводит точку А в С, а точку В в D?</div></div><br>
Да, в изначальной задаче есть координаты всех четырех точек и известно что AC и BD составляют вектор.<br>
Как я понял используется формула для нахождения момента вращения. Но у меня как-то не очень выходит переложить всё обратно на бумагу]]></description>
        <author>Hsilgos</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791785</guid>
        <pubDate>Tue, 05 Mar 2019 08:36:43 +0000</pubDate>
        <title>Центр вращения</title>
        <link>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791785</link>
        <description><![CDATA[prografix: Я не понял условия задачи.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414362&view=findpost&p=3791745'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hsilgos &#064; <time class="tag-quote__quoted-time" datetime="2019-03-04T20:27:59+00:00">04.03.19, 20:27</time></span><div class='quote '>Пусть есть две пары точек A,B и C,D, которые представлены векторами AB, CD соответственно.</div></div><br>
Нужно найти центр вращения, которое переводит точку А в С, а точку В в D? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2019-03-05T08:39:12+00:00">05.03.19, 08:39</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=414362&view=findpost&p=3791784'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>MBo &#064; <time class="tag-quote__quoted-time" datetime="2019-03-05T08:27:59+00:00">05.03.19, 08:27</time></span><div class='quote '>Выражение для torque - не скалярное, а косое (векторное) произведение.</div></div><br>
Ну, оно не векторное, хотя некоторые его так называют. Его ещё называют внешним в отличии внутреннего ( обычного скалярного произведения ).]]></description>
        <author>prografix</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791784</guid>
        <pubDate>Tue, 05 Mar 2019 08:27:59 +0000</pubDate>
        <title>Центр вращения</title>
        <link>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791784</link>
        <description><![CDATA[MBo: Что такое E? <br>Что такое точка вращения? <br>Выражение для torque  - не скалярное, а косое (векторное) произведение.<br><br>&gt;общий крутящий момент равен ABxAE + CDxCE<br>Это похоже на правду, если E - точка вращения<br>Кроме того, на стержень действует продольная сила  AB.AE + CD.CE  (скалярные произведения) - это играет роль?]]></description>
        <author>MBo</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791745</guid>
        <pubDate>Mon, 04 Mar 2019 20:27:59 +0000</pubDate>
        <title>Центр вращения</title>
        <link>https://forum.sources.ru/index.php?showtopic=414362&amp;view=findpost&amp;p=3791745</link>
        <description><![CDATA[Hsilgos: Приветствую.<br>
<br>
Есть алгоритм который очень хотелось бы понять. Он ищет точку вращения по данным векторам.<br>
<br>
Картинка в аттаче.<br>
<br>
Пусть есть две пары точек A,B и C,D, которые представлены векторами AB, CD соответственно.<br>
Принимаем их за приложенные силы к некому рычагу CA.<br>
<br>
Дальше делается утверждение, что крутящий момент равен скалярному произведению векторов CA и BD (вычисляется определитель матрицы составленной из этих векторов).:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">float torque = (B.x - D.x)(A.y - C.y) - (A.x - C.x)(B.y - D.y)</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Как я не вычислял у меня что-то так не выходит<br>
Если мы принимаем точку E за центр вращения, то, как я понимаю, общий крутящий момент равен ABxAE + CDxCE (всё векторы) и если посчитать DExCA через введенные раннее AB, AE, CD, CE то получается совсем не то.<br>
Затем вычисляется координаты центра таким образом:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">float determinant1 = A.x * C.y - C.x * A.y;</div><div class="code_line">float determinant2 = B.x * D.y - D.x * B.y;</div><div class="code_line">rotation_center.x = (determinant2 * (A.x - C.x) - determinant1 * (B.x - D.x)) / torque</div></ol></div></div></div></div><br>
Я вроде как понимаю что тут вычисляются какие-то матрицы дополнения, но что-то у меня не выходит связать всё в одну картину. Понавспоминал кучу теории про векторы и матрицы, прочитал пару статьей про крутящий момент, но единой картины нет.<br>
<br>
Есть идеи?<br>
<span class="b-attach" data-size="86943" data-hits="609" data-attach-id="60287" data-attach-post-id="0">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=0&amp;attach_id=60287' title='Скачать файл' target='_blank'>Screenshot_2019_03_04_at_21.12.08.png</a> (, : 609)
		</span>]]></description>
        <author>Hsilgos</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	