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 Кб)
гостевая; E-mail |