sharpeye visualization system

21
О ТЕКУЩИХ РЕЗУЛЬТАТАХ РАЗРАБОТКИ СРЕДЫ НАУЧНОЙ ВИЗУАЛИЗАЦИИ SHARPEYE Кумков С.С., Шмаков Е.В., Васёв П.А. Институт Математики и Механики УрО РАН www.sharpeye.lact.ru

Upload: pavel-vasev

Post on 17-Mar-2016

224 views

Category:

Documents


0 download

DESCRIPTION

under development

TRANSCRIPT

Page 1: SharpEye Visualization System

О ТЕКУЩИХ РЕЗУЛЬТАТАХ РАЗРАБОТКИ

СРЕДЫ НАУЧНОЙ ВИЗУАЛИЗАЦИИ

SHARPEYE Кумков С.С., Шмаков Е.В., Васёв П.А.

Институт Математики и Механики УрО РАН

www.sharpeye.lact.ru

Page 2: SharpEye Visualization System

Роль визуализации: помощь в

понимании результатов экспериментов

Вычисления

Результаты вычислений

Визуализация

Понимание

Page 3: SharpEye Visualization System

Как визуализируют результаты?

Существует всего 3 подхода:

Универсальные системы ParaView, TecPlot, AVS, Excel

+ Широкий набор видов отображения

- Перегруженный интерфейс

- Часто невозможно настроить все требуемые нюансы

Системы визуализации предметной области или особых сущностей IVS3D, VENUS, VolVis

+ Подходящие виды отображения с учетом нюансов

- Существуют только для популярных классов задач

Специализированные системы и методы Создание программы визуализации самостоятельно.

+ Можно учесть все нюансы задачи и пожелания

- Стоимость разработки - высока

Page 4: SharpEye Visualization System

Проблема

• Универсальную систему часто сложно адаптировать

ко всем нюансам задачи визуализации.

• Предметные системы – их слишком мало, на все

задачи их нет и никогда не будет.

• Специальная система – идеал, но как же дорого его

создавать!

Page 5: SharpEye Visualization System

Решение для случая 3D

Чем по сути отличаются специализированные системы визуализации между собой?

• Загрузка данных и преобразование их в

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

формируют 3-мерную сцену объектов.

• Управление со стороны пользователя. Разные задачи – разные элементы управления, управляющие загрузкой

и отображением.

Остальные аспекты – могут быть универсальными.

Подбор окружения исполнения (MFC, .NET Forms, WCF, VCL, Qt etc),

Выбор графической библиотеки (OpenGL, DirectX , WebGL) или среды рендеринга (VTK, OGRE, Open Inventor etc),

Реализация алгоритмов рендеринга.

Программирование оконного интерфейса, возможностей по настройке системы.

Настройка параметров сцены - освещение, камеры, анимация.

Экспорт результатов визуализации.

Page 6: SharpEye Visualization System

Проект SharpEye Среда для создания специализированных систем визуализации

Page 7: SharpEye Visualization System

Основной функционал

Постановка С.С. Кумкова

• Загрузка-удаление объектов, их хранение в

нескольких иерархиях, операции над группами.

• Операции с атрибутами объектов: изменение цвета,

прозрачность, видимость-невидимость.

• Геометрические операции со сценой (повороты,

масштабирование, перемещение).

Операции с отдельными объектами не нужны!

• Операции со светом (перемещение источника,

добавление, удаление, изменение яркости,

включение-выключение).

• Экспорт изображений.

Page 8: SharpEye Visualization System

Типовой сценарий разработки

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

Устройство сцены

• Сцена содержит модели (у каждой свое имя).

• Модель содержит набор треугольников.

• Таким образом, задача функции-загрузчика –

прочитать данные и создать сцену через API.

Сцена

Модель1 ▲▲▲

Модель2 ▲▲

Page 10: SharpEye Visualization System

Свойства моделей

У каждой модели есть стандартные и дополнительные «свойства».

Стандартные свойства:

• видимость,

• прозрачность,

• цвет лицевой и обратной стороны треугольников.

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

Page 11: SharpEye Visualization System

Источники света

• Все типы. Настраиваются вручную или через API.

Page 12: SharpEye Visualization System

Управление камерами

• Камера – суть точка обзора. Настраиваются вручную

или через API.

Page 13: SharpEye Visualization System

Дополнительные элементы управления

К каждой модели через API можно

добавить индивидуальные элементы

управления.

Система будет вызывать настроенные

обработчики событий для этих

элементов при взаимодействии с

пользователем.

Page 14: SharpEye Visualization System

Дополнительные свойства моделей

• Кроме стандартных свойств, каждой

модели можно добавить сколько

угодно дополнительных свойств.

• Можно настроить получение

уведомлений при изменении этих

свойств.

• Также для свойств можно заказать

отображение элементов управления.

Page 15: SharpEye Visualization System

Группировка моделей

• Возможность размещения модели в одновременно в

разных группах.

• Операции над группами.

• Вложенные группы.

Page 16: SharpEye Visualization System

Экспорт результатов визуализации

• Экспорт изображений и сцены в формате 3d (obj)

• Публикация в Интернет (просмотр obj через WebGL)

Page 17: SharpEye Visualization System

Пример 1. 84 сроки кода!

Page 18: SharpEye Visualization System

Пример 2. 82 строки кода!

Page 19: SharpEye Visualization System

Архитектура среды

Ядро

Хранилище

Интерфейс

пользователя

Менеджер

плагинов

Входные

данные

Входные

данные

Входные

данные

Фильтр 1

Фильтр 2

Фильтр 2

Фильтр 1 Фильтр 3

Page 20: SharpEye Visualization System

Перспективный функционал

• Разумное API.

• Возможность доступа к данным удаленных систем.

• Удаленная визуализация.

• Экспорт видео.

• Написание управляющих скриптов:

- различные языки, не только C#;

- написание скриптов непосредственно в рамках

системы.

• Обмен скриптами.

• Архитектура на основе WebGL.

Page 21: SharpEye Visualization System

СИСТЕМА

ВИЗУАЛИЗАЦИИ

SHARPEYE Кумков С.С., Шмаков Е.В., Васёв П.А.

Институт Математики и Механики УрО РАН

www.sharpeye.lact.ru