<?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=418820&amp;view=findpost&amp;p=3831844</guid>
        <pubDate>Wed, 03 Jun 2020 15:34:09 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831844</link>
        <description><![CDATA[Akina: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=418820&view=findpost&p=3831807'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Black_Dragon &#064; <time class="tag-quote__quoted-time" datetime="2020-06-03T05:57:06+03:00">03.06.20, 02:57</time></span><div class='quote '>приделать опцию, чтоб объект(ы) можно было зафиксировать от последующих автоматических &quot;перестановок&quot;.</div></div><br>
Объявляем некий уже построенный агломерат &quot;супер-коммутатором&quot; и оперируем им как единым объектом.]]></description>
        <author>Akina</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831828</guid>
        <pubDate>Wed, 03 Jun 2020 10:14:16 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831828</link>
        <description><![CDATA[Black_Dragon: <strong class='tag-b'>JoeUser</strong><br>
 :wacko: <br>
Пока попробую поизучать чужую работу, потом буду думать.]]></description>
        <author>Black_Dragon</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831818</guid>
        <pubDate>Wed, 03 Jun 2020 08:43:22 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831818</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=418820&view=findpost&p=3831774'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Black_Dragon &#064; <time class="tag-quote__quoted-time" datetime="2020-06-02T02:45:45+00:00">02.06.20, 02:45</time></span><div class='quote '>Подсхемы не нужны, нужна именно развернутая схема.</div></div><br>
Ты немного не понял. Я расписал подход, как можно начать рисовать схему - просто рекурсивное вычисление и размещение элементов. Ну я бы так попытался начать. С пошаговым &quot;разворачиванием&quot; под-схем.]]></description>
        <author>JoeUser</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831807</guid>
        <pubDate>Wed, 03 Jun 2020 02:57:06 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831807</link>
        <description><![CDATA[Black_Dragon: <strong class='tag-b'>swf</strong><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=418820&view=findpost&p=3831782'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>swf &#064; <time class="tag-quote__quoted-time" datetime="2020-06-02T16:13:29+00:00">02.06.20, 16:13</time></span><div class='quote '>Её сделать центром</div></div><br>
Все должно быть автоматически.<br>
И желательно сделать так, чтоб при изменениях не колбасило схему. :D <br>
В планах приделать опцию, чтоб объект(ы) можно было зафиксировать от последующих автоматических &quot;перестановок&quot;.<br>
Но схема нужна для быстрой наглядности и для последующего экспорта, для ручной правки в ставки в другие системы.<br>
<br>
<strong class='tag-b'>MBo</strong><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="2020-06-03T03:28:32+00:00">03.06.20, 03:28</time></span></span><br>
+<br>
Программа работает постоянно, и так же постоянно считывает &quot;окружающею&quot; информацию из локальной сети - типа эхо-локатор. Информация динамическая, но в основном связи статические, но есть такие проблемы, которые сказываются на автоматическом анализе:<br>
1) Коммутатор может быть выключен (есть такие объекты с выключением на ночь)<br>
- его перестают видеть<br>
- выставленный интервал считывания информации - 15 минут (от последнего считывания), могут быть не стыковки<br>
2) Проблема с электропитанием, отваливаются целые ветки<br>
- перестают видеться куча коммутаторов<br>
- выставленный интервал считывания информации - 15 минут (от последнего считывания), могут быть существенные не стыковки, например, после восстановления питания, согласно разному времени считывания информации, нарушиться цепочка связей.<br>
3) WiFi-мосты, из-за которых связь между коммутаторами, которые они соединяют, на считывается.<br>
- тут обычно один линк.<br>
4) Долбанные коммутаторы, которые поставили подрядчики, не предоставляют информацию о связях.<br>
- тут целые участки сети в неизвестном состоянии.<br>
<br>
П. 4 вообще не решаемый для автоматического анализа, как физически там сделано, нам известно, и на нашей схеме нарисовано.<br>
П. 3 как бы решаемый.<br>
П. 1 и 2 могут вызвать временные не стыковки связей в период пока восстанавливается информация.<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="2020-06-03T03:43:33+00:00">03.06.20, 03:43</time></span></span><br>
++<br>
Количество коммутаторов 320+<br>
Количество всех объектов 2500+<br>
(Да, и все это в одной сети. Один наш проект нам зарубили, другой, не наш, пока вяло текущий)]]></description>
        <author>Black_Dragon</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831784</guid>
        <pubDate>Tue, 02 Jun 2020 16:40:27 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831784</link>
        <description><![CDATA[MBo: Воспользуйтесь <a class='tag-url' href='http://www.graphviz.org' target='_blank'>GraphViz</a>. <a class='tag-url' href='http://lib.custis.ru/Graphviz' target='_blank'>Ещё введение</a><br>
<br>
Для него нужно будет подготовить текстовый файл, содержащий описание графа соединений <br>
и параметры рисования узлов. Также можно указать предпочтительную раскладку (layout) и т.д.<br>
Результат будет графическим файлом или файлом для специальных просмотрщиков (тут подробностей не помню)]]></description>
        <author>MBo</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831782</guid>
        <pubDate>Tue, 02 Jun 2020 16:13:29 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831782</link>
        <description><![CDATA[swf: Как-то это хозяйство в концентрические окружности вписывать, а радиусы высчитывать.<br>Тут есть корень дерева, центральная вершина, из которой все эти ветви растут? Её сделать центром.<br><br>Далее, запускаем из корня поиск в ширину, считаем количество &quot;соседей&quot; первого уровня.<br>Рисуем окружность такого радиуса, чтобы на окружности уместились все вершины 1-го уровня.<br>Затем из каждой вершины первого уровня запускаем поиск в ширину, подсчитываем кол-во &quot;соседей&quot; второго уровня.<br>Суммируем все вершины 2-го уровня, рисуем окружность подходящего радиуса, размещаем все вершины 2-го уровня.<br><br>Делая радиус достаточно большим, всё разместим. Наверно  :unsure:]]></description>
        <author>swf</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831774</guid>
        <pubDate>Tue, 02 Jun 2020 02:45:45 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831774</link>
        <description><![CDATA[Black_Dragon: <strong class='tag-b'>Akina</strong><br>
У нас пока этого нет (чем выше офис, тем дольше все он делает)<br>
Но тут проблема не в схеме, а что удастся автоматически прочитать.<br>
Но в будущем не исключается. Тогда просто как-то более прилично раскидать.<br>
<br>
<strong class='tag-b'>swf</strong><br>
<strong class='tag-b'>JoeUser</strong><br>
Подсхемы не нужны, нужна именно развернутая схема.]]></description>
        <author>Black_Dragon</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831766</guid>
        <pubDate>Mon, 01 Jun 2020 21:20:46 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831766</link>
        <description><![CDATA[JoeUser: Согласен с <strong class='tag-b'>Akina</strong>&#39;й - на 100% от пересечений не уйти, если не строить схемы в 3D :rolleyes: <br>
<br>
Но на счет частных решений - мысли есть ... Любая схема состоит из множества блоков и &quot;под-схем&quot;. Блок - понятно, он одиночный, у него есть размеры и отступы для рисования связей. Чем больше связей - тем больше нужно отступов (как правило). А что такое &quot;под-схема&quot;? Тот же &quot;блок&quot;, только гораздо большего размера, и в котором уже все внутреннее размещение составляющих предопределено. Ну и каков будет ваш алгоритм, если вот так вот подходить? ;)]]></description>
        <author>JoeUser</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831764</guid>
        <pubDate>Mon, 01 Jun 2020 21:13:29 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831764</link>
        <description><![CDATA[swf: Подумала, на что это похоже. Вот на что.<br>Экспертную систему просят объяснить, как был получен вывод. Трасса вывода - огромное дерево. <br>Показывается схематично блоками. Щёлкнешь на блок - открывается подробная картинка этого блока.<br>Наверно, и тут не надо вываливать всю картинку на плоскость, а делать хотя бы двухуровневую схему.]]></description>
        <author>swf</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831753</guid>
        <pubDate>Mon, 01 Jun 2020 16:18:02 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831753</link>
        <description><![CDATA[Akina: Хорошо, когда схема не имеет резервных/избыточных связей. Но в современных сетях резервирование со всякими STP да OSPF - обычное дело, а там без пересечений ну никак не построить...]]></description>
        <author>Akina</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831745</guid>
        <pubDate>Mon, 01 Jun 2020 09:14:48 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831745</link>
        <description><![CDATA[Black_Dragon: Или вот не совсем древняя схема, тоже только коммутаторы без компьютеров.<br>
<span class="b-attach" data-size="120105" data-hits="977" data-attach-id="62150" data-attach-post-id="3831745">
			<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=3831745&amp;attach_id=62150' title='Скачать файл' target='_blank'>map.jpg</a> (, : 977)
		</span>]]></description>
        <author>Black_Dragon</author>
        <category>Алгоритмы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831744</guid>
        <pubDate>Mon, 01 Jun 2020 09:01:08 +0000</pubDate>
        <title>Рисование связанных объектов на схеме</title>
        <link>https://forum.sources.ru/index.php?showtopic=418820&amp;view=findpost&amp;p=3831744</link>
        <description><![CDATA[Black_Dragon: Программа собрала информацию: что находится в локальной сети.<br>
Надо вывести на экран эту информацию наглядно в виде схемы (полная информация выводится в виде таблицы).<br>
<br>
Есть много объектов и часть из них (определенного типа: коммутатор) соединяется между собою.<br>
Берем такой коммутатор, у него есть N входов/выходов. Часть из них пустует (не выводиться), часть из них соединена с компьютерами (конечный объект), часть с другими коммутаторами, у которых такие же подобные соединения. На картинке показано, как это примерно выглядит.<br>
Есть объекты, которые не удалось соединить, могут быть любого типа: как отдельный объект/компьютер, так и коммутатор, где подключены компьютеры, но он сам ни к кому не подключен (кусок схемы)...<br>
<br>
<em class='tag-i'>Надо разместить объекты на схеме так, чтоб это было компактно и без пересечения линий и накладывания объектов друг на друга. И наверно, общая схема должна приближаться к квадратной, а не вытянутой в одну линию.</em><br>
Возможны упрощения: порядок соединений (выходящих линий из объекта) не обязательно по порядковому номеру, на них будет писаться нужный номер.<br>
Не задан ключевой/опорный объект: рисуется максимальная схема, где-нибудь пришлепком размещаются не соединенные маленькие схемы.<br>
<br>
Есть общая база (map) где хранятся все объекты и еще два map-а: где описывается связь между компьютером и коммутатором, и второй, где связь между каждый коммутатором (ключи на основной map)<br>
<br>
Есть ли готовые алгоритмы для изучения?<br>
<br>
+ На схеме (очень древняя) показаны только коммутаторы без конечных объектов...<br>
++ Не исключается, что возможен функционал, когда некоторые элементы &quot;зафиксированы&quot;, т.е. после автоматического размещения, руками по передвигал часть объектов.<br>
<span class="b-attach" data-size="91379" data-hits="892" data-attach-id="62149" data-attach-post-id="3831744">
			<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=3831744&amp;attach_id=62149' title='Скачать файл' target='_blank'>SnipImage.JPG</a> (, : 892)
		</span>]]></description>
        <author>Black_Dragon</author>
        <category>Алгоритмы</category>
      </item>
	
      </channel>
      </rss>
	