<?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=431835&amp;view=findpost&amp;p=3883185</guid>
        <pubDate>Wed, 14 Dec 2022 14:28:17 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883185</link>
        <description><![CDATA[Mikle: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883180'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Profi &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T16:15:42+03:00">14.12.22, 13:15</time></span><div class='quote '>все методы работают только для отсортированного списка вершин</div></div><br>
Так без сортировки выходит неоднозначно, ответы разные.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883180'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Profi &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T13:15:42+00:00">14.12.22, 13:15</time></span><div class='quote '>все же подход разный</div></div><br>
Я ж написал, что &quot;практически к тому же&quot;. Не совсем, да.]]></description>
        <author>Mikle</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883180</guid>
        <pubDate>Wed, 14 Dec 2022 13:15:42 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883180</link>
        <description><![CDATA[Profi: Можно даже избавиться от надоедливого <strong class='tag-b'>if</strong>:<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">&nbsp;&nbsp; &nbsp;public static double Shoelace(IList&#60;Point&#62; points)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;var redundantPoints = points.Concat(new [] {points[0]}).ToList();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;var sum = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for (int i = 0; i &#60; redundantPoints.Count - 1; i++)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var firstPoint = redundantPoints[i];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var secondPoint = redundantPoints[i + 1];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sum += firstPoint.X*secondPoint.Y - firstPoint.Y*secondPoint.X;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return Math.Abs(sum)/2.0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script> <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="2022-12-14T13:17:34+00:00">14.12.22, 13:17</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883178'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T13:14:07+00:00">14.12.22, 13:14</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883170'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Profi &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T12:56:59+00:00">14.12.22, 12:56</time></span><div class='quote '> Парни, а как же формула Гаусса?</div></div><br>
Это то, что я векторным произведением назвал.</div></div><br>
Ну, она из него вытекает, да. Просто не видел кода, думал никто и не предложил. <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="2022-12-14T13:18:41+00:00">14.12.22, 13:18</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883179'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Mikle &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T13:15:19+00:00">14.12.22, 13:15</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883170'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Profi &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T12:56:59+00:00">14.12.22, 12:56</time></span><div class='quote '>а как же формула Гаусса?</div></div><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">s = s + (V(i1).y - V(i).y) * (V(i1).x + V(i).x)</div></ol></div></div></div></div></div></div><br>
Ну, как бы нет. Сложность такая же, но все же подход разный. <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="2022-12-14T13:20:03+00:00">14.12.22, 13:20</time></span></span><br>
Кстати, все методы работают только для отсортированного списка вершин. Но накидать сортировку по центроиду - не сложно.]]></description>
        <author>Profi</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883179</guid>
        <pubDate>Wed, 14 Dec 2022 13:15:19 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883179</link>
        <description><![CDATA[Mikle: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883170'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Profi &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T12:56:59+00:00">14.12.22, 12:56</time></span><div class='quote '>а как же формула Гаусса?</div></div><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">s = s + (V(i1).y - V(i).y) * (V(i1).x + V(i).x)</div></ol></div></div></div></div>]]></description>
        <author>Mikle</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883178</guid>
        <pubDate>Wed, 14 Dec 2022 13:14:07 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883178</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883170'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Profi &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T12:56:59+00:00">14.12.22, 12:56</time></span><div class='quote '> Парни, а как же формула Гаусса?</div></div><br>
Это то, что я векторным произведением назвал.]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883170</guid>
        <pubDate>Wed, 14 Dec 2022 12:56:59 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883170</link>
        <description><![CDATA[Profi: Парни, а как же формула Гаусса?<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">&nbsp;&nbsp; &nbsp;public static double Shoelace(IList&#60;Point&#62; points)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;var sum = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for (int i = 0; i &#60; points.Count; i++)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var nextPointIndex = i + 1;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (nextPointIndex == points.Count)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nextPointIndex = 0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var firstPoint = points[i];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;var secondPoint = points[nextPointIndex];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sum += firstPoint.X*secondPoint.Y - firstPoint.Y*secondPoint.X;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return Math.Abs(sum)/2;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div></ol></div></div></div></div> <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="2022-12-14T13:04:48+00:00">14.12.22, 13:04</time></span></span><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">return Math.Abs(sum)/2.0;</div></ol></div></div></div></div>]]></description>
        <author>Profi</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883136</guid>
        <pubDate>Wed, 14 Dec 2022 08:02:43 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883136</link>
        <description><![CDATA[FasterHarder: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883122'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T04:01:17+00:00">14.12.22, 04:01</time></span><div class='quote '> Вот это не понял. Если сторона параллельна OY, тогда да, можно брать как +, так и -, т.к. площадь соответствующей трапеции нулевая. А если параллельно OX, то никаких нет нюансов. </div></div><br>
все, теперь я точно понял<br>
чего-то я тупо ступил, посчитав, что, когда линия || Ox, то координата по Х НЕ меняется, ужс...( она не меняется для || Oy )]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883134</guid>
        <pubDate>Wed, 14 Dec 2022 07:42:08 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883134</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883124'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Mikle &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T07:00:49+00:00">14.12.22, 07:00</time></span><div class='quote '><br>
Да ну? Трапециями - самое простое. Вот вся функция:</div></div><br>
Да, я потом сообразил, что у трапеций формула достаточно лаконичная, так что так же просто как и с векторным произведением получается.]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883133</guid>
        <pubDate>Wed, 14 Dec 2022 07:35:03 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883133</link>
        <description><![CDATA[Mikle: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883128'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T07:13:29+00:00">14.12.22, 07:13</time></span><div class='quote '>кроме треугольников др.фигуры возможны?</div></div><br>
Там в ReamMe написано (используй СКМ и ПКМ).<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883128'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T07:13:29+00:00">14.12.22, 07:13</time></span><div class='quote '>иногда пл. отриц. показывает ( я так понял она стоит в заголовке формы )</div></div><br>
Всё верно.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883132'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>kopilov &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T07:29:59+00:00">14.12.22, 07:29</time></span><div class='quote '> знак площади зависеть от «спина» фигуры</div></div><br>
Да, можно в формулу добавить модуль.]]></description>
        <author>Mikle</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883132</guid>
        <pubDate>Wed, 14 Dec 2022 07:29:59 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883132</link>
        <description><![CDATA[kopilov: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883128'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-12-14T07:13:29+00:00">14.12.22, 07:13</time></span><div class='quote '>2. иногда пл. отриц. показывает</div></div><br>
А может знак площади зависеть от «спина» фигуры (перечисление вершин по/против часов)?]]></description>
        <author>kopilov</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883128</guid>
        <pubDate>Wed, 14 Dec 2022 07:13:29 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883128</link>
        <description><![CDATA[FasterHarder: <strong class='tag-b'>Mikle</strong>, прикольно, конечно, смотрится, но:<br>
1. кроме треугольников др.фигуры возможны?<br>
2. иногда пл. отриц. показывает ( я так понял она стоит в заголовке формы )<br>
--------------------------------------<br>
<br>
я так и не понял, надо сравнивать на строго или строго+равно, если линия многоугольника || Ox; сейчас стоит со знаком &quot;-&quot;, если px1 &lt; px2 ---&#62; s = -s]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883124</guid>
        <pubDate>Wed, 14 Dec 2022 07:00:49 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883124</link>
        <description><![CDATA[Mikle: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883061'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-12-13T10:37:24+00:00">13.12.22, 10:37</time></span><div class='quote '>понимаю, странное требование, т к гораздо проще ( и точнее ) можно найти площадь, разбив его на треугольники и там все изи посчитать</div></div><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883064'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>OpenGL &#064; <time class="tag-quote__quoted-time" datetime="2022-12-13T11:27:08+00:00">13.12.22, 11:27</time></span><div class='quote '>Гораздо проще это через векторное произведение считать</div></div><br>
Да ну? Трапециями - самое простое. Вот вся функция:<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">Private Function Area() As Single</div><div class="code_line">&nbsp;&nbsp;Dim i As Long, i1 As Long</div><div class="code_line">&nbsp;&nbsp;Dim s As Single</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;s = 0</div><div class="code_line">&nbsp;&nbsp;For i = 0 To vCnt - 1</div><div class="code_line">&nbsp;&nbsp; &nbsp;i1 = (i + 1) Mod vCnt</div><div class="code_line">&nbsp;&nbsp; &nbsp;s = s + (V(i1).y - V(i).y) * (V(i1).x + V(i).x)</div><div class="code_line">&nbsp;&nbsp;Next i</div><div class="code_line">&nbsp;&nbsp;Area = s / 2</div><div class="code_line">End Function</div></ol></div></div></div></div><br>
<br>
Что-то я завёлся, даже программу с удобным интерфейсом сделал:<br>
<br>
<span class="b-attach" data-size="7257" data-hits="102" data-attach-id="64396" 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=64396' title='Скачать файл' target='_blank'>Area.zip</a> (, : 102)
		</span>]]></description>
        <author>Mikle</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883122</guid>
        <pubDate>Wed, 14 Dec 2022 04:01:17 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883122</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883118'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-12-13T21:22:47+00:00">13.12.22, 21:22</time></span><div class='quote '> у меня такое чувство, что здесь какой-то лютый нюанс может быть, когда одна из линий || Ox, причем эта линия снизу фигуры где-нибудь, а может и нет </div></div><br>
Почему тут нюанс должен быть? В этом случае трапеция вырождается в прямоугольник, и всё. Ни на что это не влияет. <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="2022-12-14T04:03:29+00:00">14.12.22, 04:03</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883095'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-12-13T14:12:56+00:00">13.12.22, 14:12</time></span><div class='quote '> единственный момент в алго: когда сторона многоугольника || оси Ox, в этом случае пробовал и + и - - все равно вроде ответ правильный, хм...ну ладно...оставил знак &quot;-&quot;, когда строго уменьшается</div></div><br>
Вот это не понял. Если сторона параллельна OY, тогда да, можно брать как +, так и -, т.к. площадь соответствующей трапеции нулевая. А если параллельно OX, то никаких нет нюансов.]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883118</guid>
        <pubDate>Tue, 13 Dec 2022 21:22:47 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883118</link>
        <description><![CDATA[FasterHarder: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883116'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2022-12-13T20:16:50+00:00">13.12.22, 20:16</time></span><div class='quote '> Проверь на (2,1)-(3,1)-(2,2)-(3,3)-(2,3)-(1,2)-(2,1) </div></div><br>
сначала проверил в онлайне, чтобы понимать, правильно или нет посчитает)<br>
онлайн выдал ответ &quot;-2&quot;, но, возможно, &quot;-&quot; типа тире<br>
<br>
прожка выдала 20 000 ( но это норм, т к координаты умножаю все на 100 ) ( фигура - наконечник стрелки влево )<br>
<br>
вроде бы все правильно посчиталось)<br>
-------------------<br>
у меня такое чувство, что здесь какой-то лютый нюанс может быть, когда одна из линий || Ox, причем эта линия снизу фигуры где-нибудь, а может и нет]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883116</guid>
        <pubDate>Tue, 13 Dec 2022 20:16:50 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883116</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883113'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-12-13T18:39:36+00:00">13.12.22, 18:39</time></span><div class='quote '>без самопересечений вроде все хорошо работает</div></div><br>
Проверь на (2,1)-(3,1)-(2,2)-(3,3)-(2,3)-(1,2)-(2,1)]]></description>
        <author>Akina</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883113</guid>
        <pubDate>Tue, 13 Dec 2022 18:39:36 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883113</link>
        <description><![CDATA[FasterHarder: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883104'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Akina &#064; <time class="tag-quote__quoted-time" datetime="2022-12-13T17:05:49+00:00">13.12.22, 17:05</time></span><div class='quote '> Проверь на самопересекающемся многоугольнике. Например, (1,1)-(3,2)-(1,3)-(3,3)-(1,2)-(3,1)-(1,1). </div></div><br>
проверил, только все координаты умножил на 100, чтобы видно было хорошо на форме<br>
ответ пишет: 0 ))<br>
<br>
понятно, что это сложная фигура и все такое, поэтому все сложнее ведать в алго, как обычно...<br>
по крайней мере без самопересечений <strong class='tag-b'>вроде</strong> все хорошо работает)]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883104</guid>
        <pubDate>Tue, 13 Dec 2022 17:05:49 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883104</link>
        <description><![CDATA[Akina: <strong class='tag-b'>FasterHarder</strong><br>
Проверь на самопересекающемся многоугольнике. Например, (1,1)-(3,2)-(1,3)-(3,3)-(1,2)-(3,1)-(1,1).]]></description>
        <author>Akina</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883095</guid>
        <pubDate>Tue, 13 Dec 2022 14:12:56 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883095</link>
        <description><![CDATA[FasterHarder: <strong class='tag-b'>OpenGL</strong>, спс, все отлично считает<br>
<br>
единственный момент в алго: когда сторона многоугольника || оси Ox, в этом случае пробовал и + и - - все равно вроде ответ правильный, хм...ну ладно...оставил знак &quot;-&quot;, когда строго уменьшается<br>
хотя я вот не уверен, что прогнал для всех возможных типов многоугольников и здесь что-то может пойти не так...вот тут не знаю]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883078</guid>
        <pubDate>Tue, 13 Dec 2022 12:34:24 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883078</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883075'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-12-13T12:15:04+00:00">13.12.22, 12:15</time></span><div class='quote '><br>
единственное, если будет невыпуклый многоугольник, хз, там это будет работать или нет, наверное, должно работать...</div></div><br>
Будет работать.]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883075</guid>
        <pubDate>Tue, 13 Dec 2022 12:15:04 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883075</link>
        <description><![CDATA[FasterHarder: ааа, да, я кажись понял<br>
действительно, трапеция образуется гораздо проще<br>
<br>
и, кстати, наверное я неправильно трактовал постановку, когда было упоминание про &quot;метод трапеций&quot;, т е здесь не нужна никакая аппроксимация, т к трапеция получается сама по себе &quot;хорошей&quot;<br>
<br>
единственное, если будет невыпуклый многоугольник, хз, там это будет работать или нет, наверное, должно работать...<br>
в общем буду пробовать пока на выпуклых, авось получится... <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="2022-12-13T12:16:06+00:00">13.12.22, 12:16</time></span></span><br>
т е под методом трапеций подразумевается способ решения именно такой, как ты описал<br>
ну ок]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883064</guid>
        <pubDate>Tue, 13 Dec 2022 11:27:08 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883064</link>
        <description><![CDATA[OpenGL: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883061'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-12-13T10:37:24+00:00">13.12.22, 10:37</time></span><div class='quote '> т к гораздо проще ( и точнее ) можно найти площадь, разбив его на треугольники и там все изи посчитать.</div></div><br>
Гораздо проще это через векторное произведение считать. В чём-то даже на интергирование будет походить. В полярных координатах, и не методом трапеций, но тем не менее на интегрирование.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=431835&view=findpost&p=3883061'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>FasterHarder &#064; <time class="tag-quote__quoted-time" datetime="2022-12-13T10:37:24+00:00">13.12.22, 10:37</time></span><div class='quote '> основная моя мысль была провести через каждую вершину линии || оси Ох, затем спроцеировать точку на эту линию и вычислить площадь маленьких тр-ков, которые не входят в состав многоугольника</div></div><br>
Как-то сложно.<br>
У тебя сторона многоугольника, ось OX и отрезки, идущие из вершин, смежной со стороной и параллельные оси Y образуют трапецию. Просто считай ориентированную площадь этой трапеции и прибавляй к результату. &quot;Ориентированную&quot; означает, что ты должен брать её со знаком + если координата x уменьшается при движении вдоль этой стороны, и со знаком минус - иначе.<br>
Например, если у тебя на рисунке вершины в порядке обхода это ABCDE, трапеции на сторонах AB и EA должны браться со знаком минус, а BC, CD, DE со знаком плюс.]]></description>
        <author>OpenGL</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883061</guid>
        <pubDate>Tue, 13 Dec 2022 10:37:24 +0000</pubDate>
        <title>Нахождение площади многоугольника</title>
        <link>https://forum.sources.ru/index.php?showtopic=431835&amp;view=findpost&amp;p=3883061</link>
        <description><![CDATA[FasterHarder: Всем хай&#33; Сходу к делу&#33;<br>
<br>
На плоскости задан многоугольник ( необязательно выпуклый ) координатами своих вершин и необходимо найти его площадь.<br>
Например, такой:<br>
<span class="b-attach" data-size="7058" data-hits="354" data-attach-id="64394" data-attach-post-id="3883061">
			<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=3883061&amp;attach_id=64394' title='Скачать файл' target='_blank'>__________________________.png</a> (, : 354)
		</span><br>
<br>
и нужно найти его площадь <strong class='tag-b'>методом трапеций</strong> ( численное интегрирование ). Да, понимаю, странное требование, т к гораздо проще ( и точнее ) можно найти площадь, разбив его на треугольники и там все изи посчитать.<br>
<br>
Как работает метод трапеций в принципе знаю + есть куча описаний в инете.<br>
<br>
Но как этот метод трапеций наложить на многоугольник?? У меня есть какие-то мысли, но это все как-то тупо мне кажется))<br>
<br>
спс за внимание <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="2022-12-13T10:40:39+00:00">13.12.22, 10:40</time></span></span><br>
основная моя мысль была провести через каждую вершину линии || оси Ох, затем спроцеировать точку на эту линию и вычислить площадь маленьких тр-ков, которые не входят в состав многоугольника<br>
и затем из площади прямоугольника ( в который &quot;вписан&quot; заданный многоугольник ) вычесть эти маленькие &quot;угловые&quot; треугольники и в результате останется искомая площадь...]]></description>
        <author>FasterHarder</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	