前言
2022年04月14日:Прошло два года, и я снова смотрю на свой код. Ощущения как на горе дерьма. Но это не для старших разработчиков, а для новичков, чтобы учиться.
Введение
Этот репозиторий изначально был создан для того, чтобы помочь новичкам быстро освоить C++. Особенно это касается перехода от процедурного подхода к объектно-ориентированному. Я сам прошёл через это и многому научился, читая код старших разработчиков. Репозиторий начинался с небольшой программы в 3000 строк кода, но со временем он вырос и стал более функциональным. Код остаётся открытым, и вы можете использовать его для своих проектов.
Проект основан на фреймворке Qt, который можно рассматривать как расширение C++. Qt унаследовал многие преимущества C++, такие как скорость, простота и объектная ориентация. Проект состоит из трёх основных модулей:
В проекте используются различные технологии C++, включая структуры данных и алгоритмы, шаблоны проектирования и библиотеку STL. В коде используется объектно-ориентированный подход, основанный на книгах «Effective C++» и «More Effective C++». Большинство кода снабжено комментариями для облегчения понимания.
Код проекта насчитывает более 10 000 строк. Мой QQ: 626373788.
Модули
Эта функция позволяет анализировать числовые управляющие программы (G/M-коды) и получать двумерные данные о траектории для визуализации. Добавлены функции для коррекции траектории с учётом ширины инструмента и для управления жестами (масштабирование колесом мыши и перетаскивание).
Модуль позволяет импортировать данные траектории из файлов TXT и отображать их. Также предоставляет возможность настройки пересечения траектории и произвольной плоскости для определения точек пересечения.
Функция позволяет импортировать трёхмерные файлы STL роботов и собирать их из отдельных частей. Можно настроить ключевые параметры робота, такие как параметры DH, диапазон движения и начальный угол. Добавлена функция загрузки деталей с координатами осей и колец для взаимодействия с мышью. Также добавлена функция обучения робота через демонстрацию движений. При каждом запуске движения робот сохраняет исходное положение в виде тени.
Проблемы, обнаруженные при работе над проектом
Компиляция приводит к множеству синтаксических ошибок. Причина: проект использует библиотеку osg, которая была скомпилирована с помощью MSVC2015. Для успешной компиляции необходимо использовать компилятор, совместимый с MSVC2015 или выше.
Ошибка: зависимый «osgLIB\build\include\osg\Node» не существует. Причина: ошибка связана с отсутствием библиотеки osg. В проекте также используется библиотека eigen для матричных вычислений.
После загрузки суставов модель не отображается. Причина: интерфейс загрузки моделей в библиотеке osgDB не может правильно прочитать файл модели, возвращая пустой указатель.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )