https://github.com/risahamm/3dviewer
Application for 3D-models visualisation.
https://github.com/risahamm/3dviewer
computer-graphics design-patterns file-parsing gui mvc-pattern opengl qt6
Last synced: 2 months ago
JSON representation
Application for 3D-models visualisation.
- Host: GitHub
- URL: https://github.com/risahamm/3dviewer
- Owner: risahamm
- Created: 2025-03-27T19:33:45.000Z (over 1 year ago)
- Default Branch: develop
- Last Pushed: 2025-03-28T14:57:31.000Z (over 1 year ago)
- Last Synced: 2025-03-28T15:44:25.769Z (over 1 year ago)
- Topics: computer-graphics, design-patterns, file-parsing, gui, mvc-pattern, opengl, qt6
- Language: HTML
- Homepage:
- Size: 47.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 3DViewer
### Программа для визуализации 3D моделей.
Программа предназначена для визуализации и взаимодействия с трехмерными моделями.
#### Основные функции. Приложение позволяет:
- Загружать каркасную модель из файла формата .obj;
- Перемещать модель на заданное расстояние относительно осей X, Y, Z;
- Поворачивать модель на заданный угол относительно своих осей X, Y, Z;
- Масштабировать модель на заданное значение;
- Настраивать тип проекции (параллельная и перспективная);
- Настраивать тип (сплошная, пунктирная), цвет и толщину ребер, способ отображения (отсутствует, круг, квадрат), цвет и размер вершин;
- Выбирать цвет фона;
- Пользовательские настройки сохраняются между перезапусками программы.
---
- Программа разработана на языке C++ стандарта C++17 с использованием компилятора gcc;
- Код программы находится в папке *src*;
- Код написан в соответствии с Google Style;
- Классы реализованы внутри пространства имен `s21`;
- Подготовлено полное покрытие unit-тестами классов для вычислений c помощью библиотеки GTest;
- Реализован графический интерфейс пользователя на базе Qt 6.7.
- Программа реализована на основе MVC-паттерна.
- Предусмотрен Makefile для сборки библиотеки с целями *all, install, uninstall, clean, check_style, dvi, dist, test, gcov_report*.
- Директория установки - `src/build`.
- Цель `dvi` обеспечивает доступ к документации, оформленной с помощью doxygen.
- Цель `dist` выполняет создание tar-файла, содержащего дистрибутивную
поставку программы.