3DViewer_v1.0 - это программа для визуализации 3D каркасных моделей. С её помощью вы можете открывать файлы формата .obj и просматривать трехмерные модели в виде проволочных каркасов.
Работа над проектом была разделена на две части Backend и Frontend.
Для установки приложения:
- скачайте репозиторий с исходным кодом;
- после зайдите в дирректорию src;
- в терминале пропишите команду
make install
$make install
Дождитесь установки и можете пользоваться. Приложение будет установленно в дирректорию проекта в папку build
. А также будет добавлен ярлык на рабочий стол.
Для удаления приложения:
$make uninstall
После приложение будет полностью удаленно с Вашего ПК.
Backend заключает в себе работу с файлами .obj (парсинг файла и занесения данных о модели в структуру) и аффинные преобразования(перевод, вращение, масштабирование). Часть Backend была разработана на языке прграммирования С.
Все модули из этой части были покрыты unit-тестами. Для запуска можете прописать:
$make test
Покрытие всех тестов более 98% кода.
$make gcov_report
Часть "Frontend" приложения была разработана с использованием языка программирования C++ и библиотеки Qt. Это обеспечивает интуитивно понятный и удобный интерфейс для пользователей, который позволяет легко взаимодействовать с моделью, редактировать параметры отображения и создавать скриншоты или gif-анимации
1. Выбор файла модели и вывод его имени: Пользователь может выбрать файл модели через диалоговое окно и имя выбранного файла будет отображаться в соответствующем поле на интерфейсе.
2. Визуализация каркасной модели: Область визуализации позволяет отображать загруженную модель в виде каркасной модели, представляющей вершины и ребра.
3. Перевод модели: Пользователь может указать параметры для перевода модели вдоль осей X, Y и Z с помощью соответствующих полей ввода и кнопок.
4. Поворот модели: Пользователь может задавать угол поворота для модели вокруг осей X, Y и Z с использованием полей ввода и кнопок.
5. Масштабирование модели: Пользователь может изменять масштаб модели с помощью поля ввода и кнопок.
6. Информация о загруженной модели: В разделе информации отображается имя загруженного файла, количество вершин и ребер в модели.
7. Тип проекции: Пользователь может выбрать тип проекции для отображения модели: параллельную или центральную.
8. Настройки отображения ребер и вершин: Пользователь может настраивать тип (сплошная, пунктирная), цвет и толщину ребер, а также способ отображения вершин (нет, круг, квадрат), цвет и размер.
9. Выбор цвета фона: Пользователь может выбрать цвет фона для области визуализации.
Все пользовательские настройки сохраняются, так что они будут восстановлены при следующем запуске приложения.
1. Создание скриншота (screenshot): Пользователь может нажать кнопку "screenshot", чтобы сохранить текущий вид модели как изображение скриншота.
2. Создание gif-анимации (gif): Пользователь может нажать кнопку "gif", чтобы записать скринкаст текущих пользовательских аффинных преобразований модели в формат gif-анимации. Анимация будет иметь разрешение 640x480, скорость 10 кадров в секунду и продолжительность 5 секунд.