https://github.com/f33rni/dvt_lr2
Технологии визуализации данных систем управления Лабораторная работа № 2
https://github.com/f33rni/dvt_lr2
Last synced: 6 months ago
JSON representation
Технологии визуализации данных систем управления Лабораторная работа № 2
- Host: GitHub
- URL: https://github.com/f33rni/dvt_lr2
- Owner: F33RNI
- License: unlicense
- Created: 2021-04-23T21:08:16.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2021-07-15T10:12:04.000Z (over 4 years ago)
- Last Synced: 2025-02-15T12:52:23.355Z (8 months ago)
- Language: Python
- Size: 545 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)
```