threadbrain
@threadbrain

Как посчитать координаты для дерева?

Есть некая диаграмма для элементов которой нужно посчитать координаты так что бы не было наложений и дерево выглядело нормально. Координаты корневого элемента задаются в ручную. Соответственно при перемещении рута или удалении какого-то элемента, все элементы могут быть пересчитаны.
Дерево должно выглядеть примерно так:
drawingtrees_fulltree.png

Пробовал переделать этот алгоритм для пересчета координат, но он обходит снизу, т.е. не получилось.

Подскажите алгоритм или что-нибудь чтобы реализовать подобное
  • Вопрос задан
  • 776 просмотров
Пригласить эксперта
Ответы на вопрос 1
На вашей картинке некий нелистовой узел располагается посередине того интервала (по оси X), который занимают его дочерние узлы.

Поэтому решите задачу определения того, сколько места должны занимать дочерние узлы, включая все их дочерние узлы и т.д. Эту задачу можно решить алгоритмом ПВГ-обхода дерева, управляя стеком вершин вручную или же пользуясь рекурсивными вызовами процедуры обхода.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы