Радиальное дерево (Jg;ngl,uky ;yjyfk)

Перейти к навигации Перейти к поиску
Пример радиального дерева, сделанного в 1924 году. Это схема иерархии организации, подчеркивающая главенство центральной власти[1]

Радиальное дерево или радиальная карта — метод отображения древовидной структуры (например, дерева) на концентрических окружностях из центра наружу. Это один из многих способов визуализации дерева,[2][3] первые примеры использования которого относятся к началу 20-го века.[4] Также радиальное дерево считается одной из разновидностей инфографики.

Радиальное и треугольное представление дерева

Сравнение с другими способами визуализации

[править | править код]

В самом распространенном представлении дерева “сверху вниз” корневая вершина находится наверху, а остальные вершины на уровнях ниже. Поскольку каждая вершина обычно имеет более одного ребенка, то форма визуализации чаще всего напоминает треугольник. В случае радиального дерева, каждый новых уровень детей отображается на новой концентрической окружности (орбите), вместо отображения в ряд в треугольном представлении.

Длина каждой орбиты увеличивается вместе с радиусом, что увеличивает место под вершины на каждом следующем уровне радиального дерева. В контексте радиального дерева понятие уровня соответствует понятию глубины дерева.[5] Тем не менее, количество вершин дерева в среднем растет экспоненциально по мере увеличения глубины, тогда как длина орбит растет линейно. Поэтому вершины обычно располагаются на орбитах плотнее по мере увеличения уровня.

Стандартное построение

[править | править код]
Схема построения радиального дерева

Пусть “d” — расстояние между соседними орбитами и радиус меньшей из них. Обычно его подбирает таким, чтобы визуализация целиком помещалась на экране. Отображение строится из центра наружу от корня дерева. Первый уровень особенный, так как все его вершины имеют общего родителя. Вершины на первом уровне могут быть расположены равномерно или взвешенно, пропорционально числу своих детей. Биссектрисы между этими вершинами задают сектора для своих потомков, чтобы потомки разных вершин не пересекались друг с другом на последующих уровнях.

У этого алгоритма построения есть множество вариаций, которые позволяет создавать более визуально сбалансированные отображения. Например, некоторые из них позволяют пользователю изменять корневу (центральную) вершину,[6] изменять положение подписей к вершинам или смешивать радиальную карту с force-directed визуализациями графов.[7]

Радиальные деревья имеют сходства с гиперболическими деревьями. Ключевое различие между ними в том, что построение гиперболических деревьев основано на гиперболической геометрии, в то время как у радиального дерева радиусы орбит увеличиваются линейно.

  • MindManager и MindMapper системы для представления информации в виде диаграммы связей, которые поддерживают возможность использовать радиальные карты, правда радиальность возможна только до 2-го уровня.
  • SpicyNodes — способ визуализации, позволяющий перемещаться от вершины к вершине.
  1. W. H. Smith., Graphic Statistics in Management (McGraw-Hill Book Company, New York, ed. First, 1924) http://www.visualcomplexity.com/vc/project.cfm?id=10 Архивная копия от 7 августа 2010 на Wayback Machine
  2. 2-D radial graph and network visualizations, from SpicyNodes documentation
  3. visualcomplexity.com | Radial Tree Viewer. Дата обращения: 7 декабря 2017. Архивировано 5 августа 2010 года.
  4. visualcomplexity.com | Radial Eugenics Diagram. Дата обращения: 7 декабря 2017. Архивировано 7 августа 2010 года.
  5. Greg Book & Neeta Keshary. "Radial Tree Graph Drawing Algorithm for Representing Large Hierarchies." University of Connecticut December 2001
  6. Yee, K.-P, D. Fisher, R. Dhamija, & M. Hearst. “Animated Exploration of Dynamic Graphs with Radial Layout”. Proc. Information Visualization, 43-50, 2001.
  7. Douma, Michael, Greg Ligierko, Ovidiu Ancuta, P. Gritsai, and S. Liu. SpicyNodes: Radial Layout Authoring for the General Public. InfoVis 2009. Atlantic City, NJ. October 2009. Presentation.

Дополнительные ссылки

[править | править код]