sharpeye visualization system
DESCRIPTION
under developmentTRANSCRIPT
![Page 1: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/1.jpg)
О ТЕКУЩИХ РЕЗУЛЬТАТАХ РАЗРАБОТКИ
СРЕДЫ НАУЧНОЙ ВИЗУАЛИЗАЦИИ
SHARPEYE Кумков С.С., Шмаков Е.В., Васёв П.А.
Институт Математики и Механики УрО РАН
www.sharpeye.lact.ru
![Page 2: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/2.jpg)
Роль визуализации: помощь в
понимании результатов экспериментов
Вычисления
Результаты вычислений
Визуализация
Понимание
![Page 3: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/3.jpg)
Как визуализируют результаты?
Существует всего 3 подхода:
Универсальные системы ParaView, TecPlot, AVS, Excel
+ Широкий набор видов отображения
- Перегруженный интерфейс
- Часто невозможно настроить все требуемые нюансы
Системы визуализации предметной области или особых сущностей IVS3D, VENUS, VolVis
+ Подходящие виды отображения с учетом нюансов
- Существуют только для популярных классов задач
Специализированные системы и методы Создание программы визуализации самостоятельно.
+ Можно учесть все нюансы задачи и пожелания
- Стоимость разработки - высока
![Page 4: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/4.jpg)
Проблема
• Универсальную систему часто сложно адаптировать
ко всем нюансам задачи визуализации.
• Предметные системы – их слишком мало, на все
задачи их нет и никогда не будет.
• Специальная система – идеал, но как же дорого его
создавать!
![Page 5: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/5.jpg)
Решение для случая 3D
Чем по сути отличаются специализированные системы визуализации между собой?
• Загрузка данных и преобразование их в
визуальные сущности. У каждой задачи свой формат исходных данных, но в итоге они
формируют 3-мерную сцену объектов.
• Управление со стороны пользователя. Разные задачи – разные элементы управления, управляющие загрузкой
и отображением.
Остальные аспекты – могут быть универсальными.
Подбор окружения исполнения (MFC, .NET Forms, WCF, VCL, Qt etc),
Выбор графической библиотеки (OpenGL, DirectX , WebGL) или среды рендеринга (VTK, OGRE, Open Inventor etc),
Реализация алгоритмов рендеринга.
Программирование оконного интерфейса, возможностей по настройке системы.
Настройка параметров сцены - освещение, камеры, анимация.
Экспорт результатов визуализации.
![Page 6: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/6.jpg)
Проект SharpEye Среда для создания специализированных систем визуализации
![Page 7: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/7.jpg)
Основной функционал
Постановка С.С. Кумкова
• Загрузка-удаление объектов, их хранение в
нескольких иерархиях, операции над группами.
• Операции с атрибутами объектов: изменение цвета,
прозрачность, видимость-невидимость.
• Геометрические операции со сценой (повороты,
масштабирование, перемещение).
Операции с отдельными объектами не нужны!
• Операции со светом (перемещение источника,
добавление, удаление, изменение яркости,
включение-выключение).
• Экспорт изображений.
![Page 8: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/8.jpg)
Типовой сценарий разработки
1. Реализовать функцию преобразования данных в
визуальные сущности.
2. При желании, добавить элементы управления.
function load( f,scene )
{
model m = scene.create(«model1»)
while (!feof(f)) {
double tri[9] = f.readline.split
m.add_triangle( tri )
}
m.add_slider(«test1»,0,50,0.25)
return 0;
}
![Page 9: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/9.jpg)
Устройство сцены
• Сцена содержит модели (у каждой свое имя).
• Модель содержит набор треугольников.
• Таким образом, задача функции-загрузчика –
прочитать данные и создать сцену через API.
Сцена
Модель1 ▲▲▲
Модель2 ▲▲
![Page 10: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/10.jpg)
Свойства моделей
У каждой модели есть стандартные и дополнительные «свойства».
Стандартные свойства:
• видимость,
• прозрачность,
• цвет лицевой и обратной стороны треугольников.
Система отображает элементы управления для стандартных свойств.
![Page 11: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/11.jpg)
Источники света
• Все типы. Настраиваются вручную или через API.
![Page 12: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/12.jpg)
Управление камерами
• Камера – суть точка обзора. Настраиваются вручную
или через API.
![Page 13: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/13.jpg)
Дополнительные элементы управления
К каждой модели через API можно
добавить индивидуальные элементы
управления.
Система будет вызывать настроенные
обработчики событий для этих
элементов при взаимодействии с
пользователем.
![Page 14: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/14.jpg)
Дополнительные свойства моделей
• Кроме стандартных свойств, каждой
модели можно добавить сколько
угодно дополнительных свойств.
• Можно настроить получение
уведомлений при изменении этих
свойств.
• Также для свойств можно заказать
отображение элементов управления.
![Page 15: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/15.jpg)
Группировка моделей
• Возможность размещения модели в одновременно в
разных группах.
• Операции над группами.
• Вложенные группы.
![Page 16: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/16.jpg)
Экспорт результатов визуализации
• Экспорт изображений и сцены в формате 3d (obj)
• Публикация в Интернет (просмотр obj через WebGL)
![Page 17: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/17.jpg)
Пример 1. 84 сроки кода!
![Page 18: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/18.jpg)
Пример 2. 82 строки кода!
![Page 19: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/19.jpg)
Архитектура среды
Ядро
Хранилище
Интерфейс
пользователя
Менеджер
плагинов
Входные
данные
Входные
данные
Входные
данные
…
Фильтр 1
Фильтр 2
Фильтр 2
Фильтр 1 Фильтр 3
![Page 20: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/20.jpg)
Перспективный функционал
• Разумное API.
• Возможность доступа к данным удаленных систем.
• Удаленная визуализация.
• Экспорт видео.
• Написание управляющих скриптов:
- различные языки, не только C#;
- написание скриптов непосредственно в рамках
системы.
• Обмен скриптами.
• Архитектура на основе WebGL.
![Page 21: SharpEye Visualization System](https://reader033.vdocuments.mx/reader033/viewer/2022042901/568c343e1a28ab02358fb83a/html5/thumbnails/21.jpg)
СИСТЕМА
ВИЗУАЛИЗАЦИИ
SHARPEYE Кумков С.С., Шмаков Е.В., Васёв П.А.
Институт Математики и Механики УрО РАН
www.sharpeye.lact.ru