Разработка программы с использованием C++ и QT, без применения дополнительных библиотек.
Для создания 3D сцены мне не совсем ясно, нужно ли всё разрабатывать с нуля, либо есть готовые решения в модуле QT 3D или OpenGL, который также интегрирован в QT. Я нашел примеры подобных программ на Unity, могу отправить видео или скриншоты интерфейса, которые были реализованы там, чтобы вам было проще понять, что требуется.
Прилагаю примеры, которые показывают интерфейсы, схожие с тем, что я хочу получить. Основные элементы, которые мне важны:
Кривые Безье:
Добавление точек: Возможность добавлять новые контрольные точки кривой. Перемещение точек: Возможность перемещения контрольных точек Удаление точек: Возможность удалять выбранные точки.
Управление камерой:
Перемещение камеры: Предлагается реализовать перемещение камеры через зажатие левой или правой клавиши мыши или другой удобный способ управления.
Взаимодействие с трехмерной сценой:
Сцена представляется в виде куба, внутри которого можно перемещать точки и кривые. Пример реализации сцены отправил ниже. Перемещение по осям X, Y и Z: Предусмотрите перемещение точек при нажатии ЛКМ на точку по осям X, Y или Z. (либо по всем осям одновременно)
Ручки кривой: Ручки кривой должны отображаться сразу или по вызову, чтобы было удобно редактировать форму кривой. Пример отправил ниже.
https://www.youtube.com/watch?v=gtXXxJQ75ow - control mode
Add point Select point (move) Delete (remove) point
https://www.geogebra.org/m/dGB3DTxx сцена ввиде куба в рамках которого можно взаимодествовать с точками и прямой
https://www.youtube.com/watch?v=q2WUHv_fN1Q ручки кривой, отображать сразу либо как-то вызывать (control points)
https://www.geogebra.org/m/dGB3DTxx например здесь реализованно перемещение точно по нажатию лкм по осям X и Y, или же оси Z
https://www.youtube.com/watch?v=CjCIfpKicyE - еще один пример
Источники которые находил с теорией: https://mathcurve.com/courbes3d.gb/bezier3d/bezier3d.shtml https://www.geogebra.org/m/dGB3DTxx