An open API service indexing awesome lists of open source software.

https://github.com/f33rni/dvt_lr2

Технологии визуализации данных систем управления Лабораторная работа № 2
https://github.com/f33rni/dvt_lr2

Last synced: 6 months ago
JSON representation

Технологии визуализации данных систем управления Лабораторная работа № 2

Awesome Lists containing this project

README

          

# Технологии визуализации данных систем управления Лабораторно практическая работа № 2
## Python. Полностью свободное использование
### Код под 4 вариант. Изменяется только формула
### Задание:

```
Лабораторная работа No 2
(общее задание)

Тема: Применение проекций и матриц трансляции при визуализации данных.

**Цель работы:** Подготовить приложение на языке C# для визуализации собранных
наборов пространственных данных методом проекции на плоскость

Задачи:
 Реализовать загрузку набора данных, заданных как тройки чисел (X, Y, Z) из
файлов формата CSV (разделитель – точка с запятой) и генерацию заданного
(через текстовое поле) количества случайных точек, где X,Y и Z – равномер-
но распределенные случайные величины на диапазоне [ - 1 ÷ 1].
 Разработать генератор случайных величин на основе пространственной па-
раметрической функции (от номера точки) с добавлением случайного сме-
щения по трем координатам, распределенного по нормальному закону с за-
данным параметром σ (СКО) [функция определяется индивидуальным зада-
нием к лабораторной работе].
 Разработать систему отображения данных в виде облака точек на битовой
карте (bitmap) с использованием прямой (ортогональной) проекции на коор-
динатные плоскости. Размер битовой карты – не менее 600 х 600 px. Приме-
нять изменение яркости точек для отображения удаленности точек от наблю-
дателя.
 Разработать систему визуализации с использованием преспективной проек-
ции облака точек, полагая, что область распределения точек можно принять
за куб с длиной грани в 1 м, размещенной на расстоянии 4 метров от наблю-
дателя.
 Разработать систему поворота базовой системы координат размещения обла-
ка точек (относительно плоскости экрана) с помощью матрицы трансляции-
поворота. Реализовать инструмент редактирования матрицы трансляции-
поворота через DataGrid или текстовые поля.
 Реализовать инструмент инкрементального поворота базовой системы коор-

динат путем использования механизма Drag&Drop позиционным манипуля-
тором. Каждое перетаскивание интерпретировать как локальное приращение
угла поворота вокруг осей 0 X и 0 Y в системе координат, связанной с плоско-
стью экрана, но с центром, размещенным в начале системы координат набора
точек.
 Реализовать отображение точек с учетом накопленного поворота, а также
отображение базовых векторов системы координат.
 Реализовать сохранение полученного изображения в файл.
```

### Индивидуальное задание:
```
Лабораторная работа No 2
(индивидуальные варианты)

Тема: Применение проекций и матриц трансляции при визуализации данных.

Пространственная параметрическая функция, это набор функций зависимости ко-
ординат от некоторого параметра, например, {x(t), y(t), z(t)}, где t = n/N
Шум, то есть случайные отклонения координат точки от тех, что задаются пара-
метрической функцией, распределен по нормальному закону. Среднеквадратическое
отклонение распределения должно задаваться в интерфейсе приложения.
Количество точек N должно задаваться в интерфейсе приложения. Рекомендован-
ное значение для отладки приложения – 1000.

Индивидуальные варианты

L02_01: Использовать в качестве пространственной функции параметрическое пред-
ставление функции.
При необходимости выполнить масштабирование в интервал [ - 1 ÷ 1] по
каждому измерению.
x = 0.5 * cos ( 4 * pi * ( i / N))
y = 0.5 * sin ( 4 * pi * ( i / N))
z = -1 + 2 * i / N (0 <= i <= N)

L02_02: Использовать в качестве пространственной функции параметрическое пред-
ставление функции.
При необходимости выполнить масштабирование в интервал [ - 1 ÷ 1] по
каждому измерению.
x = 0.6 * cos ( 4 * pi * ( i / N) + pi / 4)
y = 0. 4 * sin ( 8 * pi * ( i / N))
z = -1 + 2 * i / N (0 <= i <= N)
L02_0 3 : Использовать в качестве пространственной функции параметрическое пред-
ставление функции.

При необходимости выполнить масштабирование в интервал [ - 1 ÷ 1] по
каждому измерению.
x = 0.6 * cos ( 8 * pi * ( i / N) + pi / 2 )
y = 0. 6 * sin ( 8 * pi * ( i / N))
z = -1 + 2 * i / N (0 <= i <= N)
L02_0 4 : Использовать в качестве пространственной функции параметрическое пред-
ставление функции.
При необходимости выполнить масштабирование в интервал [ - 1 ÷ 1 ] по
каждому измерению.
x = 0.7 * cos ( 6 * pi * ( i / N))
y = 0. 5 * sin ( 4 * pi * ( i / N))
z = -1 + 2 * i / N (0 <= i <= N)
L02_0 5 : Использовать в качестве пространственной функции параметрическое пред-
ставление функции.
При необходимости выполнить масштабирование в интервал [ - 1 ÷ 1] по
каждому измерению.
x = 0.5 * cos ( 10 * pi * ( i / N))
y = 0. 5 * sin ( 7 * pi * ( i / N))
z = -1 + 2 * i / N (0 <= i <= N)
```