2012-05-30 5 views
0

Учитывая список взаимосвязанных точек, с каждой точкой, имеющей одно или несколько однонаправленных соединений с другими точками, как построить графическую карту структуры?Построить графическую карту взаимосвязанных точек местоположения

Выражаясь просто, я мог бы иметь точки A, B, C, со следующими соединениями:

  • От А до Б
  • B к A
  • B до C
  • C до В

Но может быть гораздо больше точек (A1, B1, A2, B2 и т. д.).

Это на самом деле карта с 2-мя играми. Мне нужно это, чтобы показать текущее местоположение игрока. Каждая точка может быть подключена только к ближайшим местоположениям. Фактически, мне даже не нужно показывать соединения - мне просто нужно, чтобы связанные точки отображались рядом друг с другом. Их можно представить как мало чередующихся квадратов цветов, например, на шахматной доске. Тогда мне нужен способ выделить конкретную точку.

Какой алгоритм следует использовать для создания растрового изображения карты?

+0

У вас есть некоторые ограничения в виду, что вы не добавили к вопросу? иначе было бы слишком просто, как положить всю точку на круг и добавить линию между ними ... –

+0

могут ли соединения пересекаться? – okayGraphics

+0

@AlexeiLevenkov - Кажется, что OP хочет представлять [направленный график] (http://en.wikipedia.org/wiki/Directed_graph). (Здесь показаны несколько графических представлений.) Хотя узлы могут быть помещены в круг, соединения должны быть дугами, чтобы узлы явно были связаны в обоих направлениях, например. От A до B и B до A. – HABO

ответ

0

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

Смежные вопросы