Актуальные проблемы авиации и космонавтики. Информационные технологии
УДК 004.457
О. А. Иванов Научный руководитель - В. В. Вдовенко Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
ВИЗУАЛИЗАЦИЯ БОЛЬШОГО КОЛИЧЕСТВА ДАННЫХ В КЛИЕНТСКОМ ПРИЛОЖЕНИИ
Предлагается решение проблемы в выборе средства визуализации большого количества данных в клиентском приложении, не используя flash объектов визуализации.
FunnyPlots - одна из библиотек, разработанная для создания чартов моего проекта. Написана на Javascript, позволяет легко добавлять интерактивные, анимированные графики на сайт или в веб-приложение. На данный момент чарты поддерживают большое количество диаграмм линейных, круговых, колоночных рассеивающих типов.
Чарты работают со всеми популярными браузерами, включая Safari на iPhone. Минимальная версия для IE составляет 6. Также браузеры поддерживающие Canvas элемент, и в некоторых случаях SVG для графического рендеринга.
Поддерживаются следующие типы вывода графиков:
line, spline, area, areaspline, column, bar, pie и scatter и они могут быть комбинированы между друг другом при выводе конечному пользователю, и обладают возможностью отключения любого из них в режиме реального времени непосредственно пользователем для удобства разборки информации.
Данные для построения графиков могут быть взяты как из клиентских массивов данных созданых с помощью Javascript, так из локального файла, базы данных, или с удаленного сервера. К примеру очень просто реализовать кодирование массива данных в JSON формате, для того, чтобы библиотека смогла их декодировать в собственные массивы и применить для построения чарта.
Основные преимущества библиотеки:
1. Чарты работают на чистом Javascript и не требуют каких-либо плагинов или Flash, при этом скорость загрузки и рендера таких графиков в полтора раза выше, чем у Flash;
2. Вывод чартов довольно прост, и они могут быть использованы даже новичками в веб-разработке, главное знать, что такое массивы и ассоциативные массивы, а так же уметь работать с ними;
3. Есть увеличение отдельных областей, при увеличении, данные можно подгружать, используя асинхронные запросы к серверу (AJAX);
4. Поддержка всплывающих подсказок с выводом информации, так же присутствует возможность создавать собственные лямда функции для переопределения формирования содержания подсказки;
5. В большинстве типов чартов есть поддержка date-time X-оси;
6. Размер библиотеки ~18 кб;
Методика работы. FunnyPlots, использует объекты JavaScript, чтобы определить опции чарта. Опции, в основном: строки и числа, но иногда это массивы, другие объекты или даже функции. Для создания
удобного ядра библиотеки, использовались основные принципы ООП, были созданы нативные getter и setter, которые помогают работать с большим количеством данных, почти без видимых задержек.
Выбор технологий. Выбор технологии программирования для реализации подобной системы, очень сложный этап в разработке.
Для системы, которая была бы в силах, работать на уровне или даже обогнать по своей мощи такую технологию как Flash, нужно было выбрать очень простой, лаконичный и быстрый язык программирования. Как нельзя лучше подошел Javascript, особенно с учетом последних нововведений в скриптовых движках современных браузеров. Включение аппаратного ускорения графики и рендера, в новых скрип-товых движках, позволяет вывести клиентские скрипты на более совершенный уровень, новый виток скорости. Из-за таких нововведений javascript начинает получать все большее одобрение у программистов, так как теперь скорость его обработки вплотную приближается к скорости ActiveX объекта.
После того, как определен язык программирования, необходимо выбрать идеологию, головной framework. Для реализации быстрой библиотеки, необходимо понимать, какие объемы данных будет обслуживать данная библиотека. Насколько быстро она сможет обслуживать такие объемы.
Для роли framework для библиотеки, был выбран jQuery, так как его мощь и скорость работы с селекторами в DOM объекте, требует внимания и уважения. Для графической стороны библиотеки был выбран обычный объект Canvas.
Требования для библиотеки:
- очень важно, чтобы такая библиотека смогла бы работать в любом современном браузере - кросс-платформенность.
- также необходима высокая скорость обработки данных, больших данных, для этого библиотека должна уметь кешировать результаты вычислений, помещать их в заранее созданные объекты и извлекать при необходимости - быстрота.
- для любой библиотеки построения чартов, важно уметь строить различные типы чартов, так например данная библиотека должна уметь построить столбовые диаграммы, круговые диаграммы, негативные диаграммы и так далее - многофункциональность.
Проектирование и разработка. За основу разработки библиотеки взят стандарт ГОСТ 19.102-77 по порядку разработки документации, структуре документов и жизненному циклу. На основе данного стандарта составлена концептуальная и логическая
Секция ««Информатика и вычислительная техника»
схемы объектов данных, состоящие из 18 сущностей (объектов).
Следующий этап разработки включает в себя добавление поддержки тем оформления для чартов, всевозможные объекты предоставляющие доступ ко всем
настройкам библиотеки, а так же функциональное тестирование библиотеки и написание документации к ней.
© Иванов О. А., Вдовенко В. В., 2011
УДК 004.932
А. С. Казакова Научный руководитель - А. Г. Зотин Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
ОСНОВНЫЕ МЕТОДЫ СТЕРЕСКОПИЧЕСКОЙ ВИДУАЛИЗАЦИИ
Рассмотрены основные методы стерескопической визуализации. Представлены сферы применения стере-скопических технологий.
На данный момент существует много способов создать иллюзию, что перед вами стереоизображение. Это стереопары (с просмотром при помощи стереооч-ков, поляризаторов, зеркал, стереоскопов и др.), анаг-лифический, поляризационный и растровый способы, интегральная фотография и «мозаичные картинки», голография.
Анаглифный метод построения стереоскопических изображений был впервые предложен КоПшапп'ом в 1853 г. Данный метод основан на свойствах светофильтров пропускать одни и задерживать другие лучи [1]. При использовании анаглифного метода кадры стереопары окрашиваются в так называемые «дополнительные» цвета (красный-синезеленый, пурпурный-зеленый, желтый-синий и т. д.) и отображаются с перекрытием на мониторе или бумаге. Для просмотра полученных изображений зрители используют очки с разными для каждого глаза светофильтрами, поэтому каждый глаз наблюдает свой кадр стереопары, таким образом формируется впечатление объемности изображения.
Поляризационный метод стереоскопии - это метод сепарированного (разделенного) предъявления изображений стереопары, спроецированных в поляризованном свете на недеполяризующий экран [2]. При использовании линейной поляризации света линейные поляризаторы устанавливаются перед левым и правым объективами проекторов таким образом, чтобы их ориентация была взаимно перпендикулярной. Зрители наблюдают стереоизображение через пассивные поляроидные стереоочки, светофильтры анализаторы которых сориентированы аналогично поляризаторам, т. е. таким образом, чтобы лучи, направленные на экран, например, через левый объектив, воспринимались только левым глазом и полностью гасились
для правого глаза. Недостатком применения линейных поляризаторов является некоторое ухудшение сепарации при наклоне зрителем головы в сторону, что приводит к рассогласованию ориентации анализаторов и поляризаторов. Этот недостаток практически полностью устраняется при использовании циркулярных поляризаторов и анализаторов.
При работе с трехмерными объектами, для визуализации используется подход под названием Image Based Modeling and Rendering. Основная идея которого заключается в том, чтобы используя набор изображений одного и того же объекта, сделанных с различных точек, получить вид этого объекта из произвольной точки положения наблюдателя. Таким образом, значительно упрощается моделирование, а рендеринг становится качественным по определению, потому что используются изображения реальных объектов.
Применение стерео технологий широко охватило такие сферы, как строительство, фармацевтика и медицина, образование, высокотехнологичные разработки, реклама и киноиндустрия. Сегодня при показе различных презентационных, корпоративных и обучающих фильмов для привлечения внимания и визуализации сложных процессов чаще всего прибегают к новым технологиям, таким как стереофильмы.
Библиографические ссылки
1. Что такое анаглиф. URL: http://stereo.info-sev.ru/anaglyph.htm (Дата обращения: 08.03.2011).
2. Поляризационная стереофотография. URL: http: //www. 3dmix. com/rus/articles/history/polar/ (Дата обращения: 08.03.2011).
© Казакова А. С., Зотин А. Г., 2011