Russian Qt Forum
Ноябрь 22, 2024, 18:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Кейс: геопространственное 3d-моделирование в Qt  (Прочитано 6080 раз)
kirillch
Гость
« : Сентябрь 17, 2015, 18:50 »

Коллеги, есть очень интересная задача по 3d-моделированию, лежит где-то между сколково (в плохом смысле этого слова) и фантастикой про будущее (в хорошем смысле)  Улыбающийся

Формулировка простая:
С внешнего устройства в приложение потоком передаются координаты нескольких точек в пространстве, и в приложении нужно в реальном времени видеть расположение этих точек.

Задача по выводу и рассмотрению имеющейся 3d-модели на экран в Qt решается просто. Как и передача потока данных в приложение.
Вопрос в том, как в Qt получить приложение, в котором пользователь сможет крутить и рассматривать 3d-объект, а тот в свою очередь будет постоянно менять свои параметры по каким-то входным данным.

В качестве ответа принимается всё: алгоритм работы такого приложения, используемые библиотеки, ссылки на статьи, книги, примеры, исходники, видео, что угодно)
Просто хочется понять, как эта задача решается в Qt.

Опыт работы в Qt есть, так что я пойму любое описание, конечная цель - понять как написать ТЗ для разработчика)

Записан
Bepec
Гость
« Ответ #1 : Сентябрь 17, 2015, 19:53 »

А давайте смодулируем незнаю что, которое можно двигать пальцами и которое изменяется от неизвестно каких входных данных в неизвестно каких зависимостях Веселый
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #2 : Сентябрь 17, 2015, 23:31 »

конечная цель - понять как написать ТЗ для разработчика)

Это решается так - сначала надо найти разработчика, который сумеет это сделать, потом в долгой устной беседе поймёт что именно надо сделать, и тогда он сам напишет ТЗ.  Веселый
Записан

2^7-1 == 127, задумайтесь...
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Сентябрь 18, 2015, 07:02 »

Формулировка простая:
С внешнего устройства в приложение потоком передаются координаты нескольких точек в пространстве, и в приложении нужно в реальном времени видеть расположение этих точек.
С просмотром неск точек проблем нет, но вряд ли Вас интересуют только точки

Вопрос в том, как в Qt получить приложение, в котором пользователь сможет крутить и рассматривать 3d-объект, а тот в свою очередь будет постоянно менять свои параметры по каким-то входным данным.
По каким? Что за объект и как это связано с упоминавшимися точками? Пока информации ноль

Опыт работы в Qt есть,...
Если есть то чего же такое мутное описание?  Плачущий
Записан
kirillch
Гость
« Ответ #4 : Сентябрь 18, 2015, 10:50 »

Если есть то чего же такое мутное описание?  Плачущий
Чтобы только понять общие подходы.. Под этим и подразумевалась сколковская постановка вопроса)

С просмотром неск точек проблем нет, но вряд ли Вас интересуют только точки

По каким? Что за объект и как это связано с упоминавшимися точками? Пока информации ноль

Тогда так:
От двух точек через qserialport передаются их координаты x,y,z
Объект - пусть вытянутый стержень.

Нужно "привязать" точки к концам стержня. То есть при изменении в пространстве положения этих точек на экране меняется длина и "вектор" расположения стержня.

Задача следующего уровня: вместо стержня берём цилиндр. При изменении длины цилиндра пропорционально изменяется его радиус.

Задача следующего уровня: обратная связь. При движении точек в пространстве на экране меняется расположение и размеры цилиндра. Пользователь задаёт две любые точки на поверхности цилиндра и от приложения получает расстояние между этими двумя точками.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Сентябрь 18, 2015, 11:38 »

Пока речь идет о простом объекте как цилиндр - содержательная часть практически нулевая, по существу задача сводится к рисованию UI (правда с OpenGL) и обмену данными с портом. Не вижу что тут обсуждать.

Edit: может хотя бы имелось ввиду "расстояние по поверхности цилиндра"  (а не по прямой)? Иначе вообще какая-то странная городушка  Улыбающийся
« Последнее редактирование: Сентябрь 18, 2015, 14:02 от Igors » Записан
andrew.k
Гость
« Ответ #6 : Сентябрь 22, 2015, 02:16 »


Задача по выводу и рассмотрению имеющейся 3d-модели на экран в Qt решается просто. Как и передача потока данных в приложение.
Вопрос в том, как в Qt получить приложение, в котором пользователь сможет крутить и рассматривать 3d-объект, а тот в свою очередь будет постоянно менять свои параметры по каким-то входным данным.

В качестве ответа принимается всё: алгоритм работы такого приложения, используемые библиотеки, ссылки на статьи, книги, примеры, исходники, видео, что угодно)
Просто хочется понять, как эта задача решается в Qt.

Опыт работы в Qt есть, так что я пойму любое описание, конечная цель - понять как написать ТЗ для разработчика)
Я думаю, очень поможет пример boxes из папки Examples из поставки Qt.
Прилепить туда координаты из сети, думаю не составит труда.

Если не хочется opengl можно поизвращаться с графической сценой и трансформациями.

Хотя тоже не совсем понял в чем трудности, если все просто, то сложно соединить воедино?
Записан
8Observer8
Гость
« Ответ #7 : Январь 05, 2016, 17:09 »

kirillch, для начала изучите, что такое OpenGL в Qt, как происходит вывод объектов. Изучите примеры, которые идут с Qt в папке exmaples/opengl
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.074 секунд. Запросов: 23.