Какие алгоритмы хороши для интерактивного / графического рисования в реальном времени? - PullRequest
3 голосов
/ 06 декабря 2008

Какие алгоритмы хороши для интерактивного / графического рисования в реальном времени для живых данных и прямого манипулирования?

В противном случае - какие библиотеки вы используете для рисования графиков?

Предложения;

  • Prefuse Инструментарий для визуализации информации
  • другие?

Кстати, я имею в виду графы в смысле теории графов - точки и линии

  • любой язык
  • Под живым я имею в виду, что график должен быть управляемым один раз на экране.

Ответы [ 7 ]

4 голосов
/ 20 января 2010

Я бы порекомендовал любую библиотеку, над которой работал Джефф Хир:

Я считаю, что все три проекта с открытым исходным кодом. Джефф Хир довольно хорошо ссылается на статьи в своем коде, по крайней мере, в библиотеке Prefuse. Глядя на источник Prefuse:

BalloonTreeLayout : Используется алгоритм Дж. Мелансона и И. Хермана из их исследовательской работы "Круговые рисунки корней деревьев", отчеты Центра математики и компьютерных наук, номер отчета INS – 9817, 1998.

ForceDirectedLayout.java : нет упоминаний, но есть много комментариев, описывающих, как это работает.

FruchtermanReingoldLayout.java : ссылки Юнг . На их сайте я нашел статью, в которой есть ссылки на различные алгоритмы

NodeLinkTreeLayout.java : использовался алгоритм Кристофа Буххайма, Михаэля Юнгера и Себастьяна Лейперта из их исследовательской работы Улучшение алгоритма Уокера для работы в линейное время , График, рисунок 2002 Этот алгоритм исправляет проблемы производительности в алгоритме Уокера, который обобщает метод Рейнгольда и Тилфорда для аккуратного рисования деревьев для поддержки деревьев с произвольным числом дочерних элементов в любом данном узле.

RadialTreeLayout.java : алгоритм, использованный Ка-Пинг Йи, Даниэлем Фишером, Рачной Дамия и Марти Херст в их исследовательской работе Анимированное исследование динамических графиков с радиальной компоновкой , InfoVis 2001. Этот алгоритм вычисляет радиальную компоновку, которая учитывает возможные вариации размеров, и поддерживает ограничения как на ориентацию, так и на упорядочение для облегчения плавных и понятных переходов между конфигурациями компоновки.

SquarifiedTreeMapLayout : этот конкретный алгоритм взят из работы Bruls, D.M., C. Huizing и J.J. van Wijk, "Squarified Treemaps" In Data Visualization 2000, Материалы Объединенного Еврографического и IEEE TCVG Sumposium по Визуализации , 2000, стр. 33-42. Доступно онлайн на http://www.win.tue.nl/~vanwijk/stm.pdf. Для получения дополнительной информации о TreeMaps в целом см. http://www.cs.umd.edu/hcil/treemap-history

3 голосов
3 голосов
/ 29 декабря 2008

График рисования - это большое поле. Вот ссылка на сайт сообщества исследователей рисования графиков . У них есть ежегодная конференция, посвященная графическому рисунку. Я также могу предложить прочитать некоторые из Проф. Публикации Дэвида Харела - одна из его областей исследований - рисование графиков, например эта статья . Это кажется сложной проблемой для решения в общем случае. Возможно, вы можете ограничить свое приложение некоторым ограниченным подмножеством графов (планарные графы, вероятно, слишком ограничительны). Вероятно, простые графы с небольшим набором вершин упрощают манипуляции.

3 голосов
/ 28 декабря 2008

инструментарий визуализации prefuse выглядит хорошим кандидатом.

Prefuse поддерживает богатый набор особенности для моделирования данных, визуализация и взаимодействие. Это обеспечивает оптимизированные структуры данных для таблицы, графики и деревья, множество методы верстки и визуального кодирования, и поддержка анимации, динамическая запросы, интегрированный поиск и подключение к базе данных. Префузия написано на Java, используя Java 2D графическая библиотека, и это легко интегрирован в Java Swing приложения или веб-апплеты. Prefuse лицензируется в соответствии с условиями BSD лицензии, и может быть свободно использован для как коммерческие, так и некоммерческие цели. (с домашней страницы)

2 голосов
/ 06 декабря 2008

Я использую язык Dot для описания графиков. И вывод компилятора Dot включает SVG, который находится в XML и может быть встроен в XHTML.

http://en.wikipedia.org/wiki/DOT_language
1 голос
/ 14 января 2009

Я новичок в стеке, так что извините за поздний ответ. В зависимости от того, какой интерактив вы хотите получить ... вы также можете не проверять Flot (использует JQuery, менее интерактивный) или обрабатывать ... более интерактивно.

1 голос
/ 06 декабря 2008

Не уверен, что вы после ...

звучит так, как будто вы хотите сделать что-то похожее на rrdtool?

Возможно, на их сайте есть информация, которая поможет:

http://oss.oetiker.ch/rrdtool/

...