Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: kirillch от Сентябрь 17, 2015, 18:50



Название: Кейс: геопространственное 3d-моделирование в Qt
Отправлено: kirillch от Сентябрь 17, 2015, 18:50
Коллеги, есть очень интересная задача по 3d-моделированию, лежит где-то между сколково (в плохом смысле этого слова) и фантастикой про будущее (в хорошем смысле)  :)

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

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

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

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



Название: Re: Кейс: геопространственное 3d-моделирование в Qt
Отправлено: Bepec от Сентябрь 17, 2015, 19:53
А давайте смодулируем незнаю что, которое можно двигать пальцами и которое изменяется от неизвестно каких входных данных в неизвестно каких зависимостях :D


Название: Re: Кейс: геопространственное 3d-моделирование в Qt
Отправлено: Гурман от Сентябрь 17, 2015, 23:31
конечная цель - понять как написать ТЗ для разработчика)

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


Название: Re: Кейс: геопространственное 3d-моделирование в Qt
Отправлено: Igors от Сентябрь 18, 2015, 07:02
Формулировка простая:
С внешнего устройства в приложение потоком передаются координаты нескольких точек в пространстве, и в приложении нужно в реальном времени видеть расположение этих точек.
С просмотром неск точек проблем нет, но вряд ли Вас интересуют только точки

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

Опыт работы в Qt есть,...
Если есть то чего же такое мутное описание?  :'(


Название: Re: Кейс: геопространственное 3d-моделирование в Qt
Отправлено: kirillch от Сентябрь 18, 2015, 10:50
Если есть то чего же такое мутное описание?  :'(
Чтобы только понять общие подходы.. Под этим и подразумевалась сколковская постановка вопроса)

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

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

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

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

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

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


Название: Re: Кейс: геопространственное 3d-моделирование в Qt
Отправлено: Igors от Сентябрь 18, 2015, 11:38
Пока речь идет о простом объекте как цилиндр - содержательная часть практически нулевая, по существу задача сводится к рисованию UI (правда с OpenGL) и обмену данными с портом. Не вижу что тут обсуждать.

Edit: может хотя бы имелось ввиду "расстояние по поверхности цилиндра"  (а не по прямой)? Иначе вообще какая-то странная городушка  :)


Название: Re: Кейс: геопространственное 3d-моделирование в Qt
Отправлено: andrew.k от Сентябрь 22, 2015, 02:16

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

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

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

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

Хотя тоже не совсем понял в чем трудности, если все просто, то сложно соединить воедино?


Название: Re: Кейс: геопространственное 3d-моделирование в Qt
Отправлено: 8Observer8 от Январь 05, 2016, 17:09
kirillch, для начала изучите, что такое OpenGL в Qt, как происходит вывод объектов. Изучите примеры, которые идут с Qt в папке exmaples/opengl