Nickolay.info. JavaScript. Gen_map или визуализация графов на Javascript

Скрипт служит для отображения в браузере графа произвольной связности с возможностью выполнить или запретить любые отдельные переходы между узлами. В зависимости от написанной под конкретную задачу модели (файла model.js) можно получить самые разные иерархические и сетевые структуры.

Скрипт основан на Javascript-библиотеке Jit, которую пришлось лишь немного изменить для моих целей.

Отображение делается на теге canvas, который не поддерживается в Internet Explorer, потому для работы скрипта в IE подключается также библиотека excanvas. Поскольку последняя несовершенна, скрипт выглядит красивее в Opera и Mozilla Firefox. Проверено в браузерах Internet Explorer 7/8, Opera 9/10, Mozilla Firefox 3 - работает везде.

Для создания собственной модели достаточно написать свой файл model.js и изменить файл index.html, откуда всё загружается. Если стандартного стиля недостаточно, можно добавить собственные стилевые определения в файл css/RGraph.css.

К сожалению, Javascript - медленная платформа, и предельное число узлов, допустимое в модели на этом движке, я оцениваю в 50-52 (в модели "Генератор сюжетов" как раз 51 узел). После этого, при дальнейшем увеличении числа узлов, время загрузки и обработки растёт экспоненциально - примерно так же, как однажды "внезапно" происходит с увеличившейся до "критического объёма" базой данных.

При появлении новых моделей я буду добавлять их на эту же страницу.


 Страница модели "Генератор сюжетов"

 Скачать полный архив скрипта с моделью Генератор сюжетов (458 Кб)

Пример сгенерированного сюжета:

Учёные создают огромных насекомых которые трактуют нас только как пищу и являются радиоактивными и не могут быть уничтожены армией, флотом, авиацией, морской пехотой и/или войсками береговой охраны но умирают от земных болезней
(C) Модель "Генератор сюжетов" :)

 "Карта юного фантаста" из моего детства, с которой это началось (новое окно, 400 Кб)

Рейтинг@Mail.ru
вверх гостевая; E-mail