Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 3D-модели, создание и обработка 3D-модели 
:(
    Опции темы
lildare
Дата 28.3.2011, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.2.2011

Репутация: нет
Всего: нет



Здравствуйте, уважаемые!
Передо мной поставили следующую задачу: разработать приложение, в котором бы отображалась достаточно сложная и детализированная модель объекта (в моем случае это модель котельной). Причем этот объект можно:
1)вращать, поворачивать, крутить
2) при щелчке на элемент котельной открывается окно с характеристиками объекта и мн. др, но для начала этого хватит

Что мне использовать для этого? С 3D-графикой я раньше работал только посредством OpenGL,да и то на слабеньком уровне и всех возможностей не знаю..
У меня такие варианты:
1) Flash ( с ним вообще не работал)
2) OpenGL (рисовать объект полигонами, накладывать сверху текстуры и тд)
3) нарисовать модель в AutoCad и вставить в мое приложение(но как обработать здесь щелчки мыши, повороты...)

Подскажите пожалуйста.. ведь неправильно заложив фундамент, придется сносить дом..
PM MAIL   Вверх
KaraKum
Дата 28.3.2011, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Лучше использовать OpenGL вместе с SDL.
Модели готовятся в любом 3D-редакторе (например в бесплатном blender'е) и импортируются в OpenGL. Импорт возможно реализовать самому, но лучше для этого использовать уже готовые движки(OSG или Ogre3D).

Добавлено через 1 минуту и 28 секунд
OSG по-проще и поэтому, думаю, для данной ситуации подойдёт лучше.
PM MAIL WWW   Вверх
bsa
Дата 28.3.2011, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(KaraKum @  28.3.2011,  12:08 Найти цитируемый пост)
Лучше использовать OpenGL вместе с SDL.

Не думаю, что SDL тут будет хорошим выбором.
Уж лучше или только Ogre3D+CEGUI, или Qt (QtGui+QtOpenGL).
PM   Вверх
lildare
Дата 28.3.2011, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.2.2011

Репутация: нет
Всего: нет



пример бы еще какой-нибудь простенький, ребят.. я просто щас в легком шоке
PM MAIL   Вверх
lildare
Дата 28.3.2011, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.2.2011

Репутация: нет
Всего: нет



как мне потом делать обработку щелчка мыши и тд?
PM MAIL   Вверх
baldina
Дата 28.3.2011, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



OpenGL + glut? 
Преимущества: знакомый OpenGL в чистом виде + простой фреймворк для организации окна и обработки событий клавиатуры и мыши.
Для выбора элементов в OpenGL можно использовать механизм Selection

имхо QtOpenGL врядли сильно поможет, т.к. он ничего не добавляет, кроме совместимости с самим Qt
Ogre3D? пожалуй. если его освоение не станет слишком высокой платой.

lildare, в каком виде исходные данные для 3D модели? Должно ли приложение предоставлять средства для её ручного построения, или же только являться информационной моделью, которая показывает геометрию и атрибуты объектов, а сама геометрия статична и откуда-то импортируется?
PM MAIL   Вверх
bsa
Дата 28.3.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



lildare, для начала пролистай документацию к фреймворкам. Затем выбери наиболее тебе подходящий и прочитай его документацию.

Добавлено через 2 минуты и 12 секунд
Цитата(baldina @  28.3.2011,  13:21 Найти цитируемый пост)
имхо QtOpenGL врядли сильно поможет, т.к. он ничего не добавляет, кроме совместимости с самим Qt
Но ведь "открывается окно с характеристиками" надо же как-то делать. А так как "окна" делать на Qt проще всего, то я и предложил. 
PM   Вверх
baldina
Дата 28.3.2011, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



"окно с характеристиками" это настолько мало, по сравнению с ужасом всей задачи.... ;-)
да и окно невелико, параметр-значение. по сути, properties window
в комплексе, пожалуй, Qt неплохой вариант, хотя для данной задачи он вполне сравним с ненавистным MFC.

PM MAIL   Вверх
lildare
Дата 28.3.2011, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.2.2011

Репутация: нет
Всего: нет



Цитата

lildare, в каком виде исходные данные для 3D модели? Должно ли приложение предоставлять средства для её ручного построения, или же только являться информационной моделью, которая показывает геометрию и атрибуты объектов, а сама геометрия статична и откуда-то импортируется? 


ну вообщем изменять модель пользователь не должен, она должна откуда-то загружаться и появляться перед ползователем в окне, чтобы он мог ее вертеть, щелкать и тд. Вопрос только в том, как обрабатывать етот щелчок, ведь модель (в моем случае котельная) состоит из отдельных элементов (элеваторов, конвейера, печей и тд и тп), у каждого из которых свой набор характеристик. Т.е. мне интересно как определить на какой именно элемент произошел щелчок, чтобы выдать по нему набор характеристик из БД. Это раз... и два: в принципе мое приложение представляет собой карту города Альметьевска с отмеченными на нем котельными, при щелчке на которую должно открываться новое окно, а в этом новом окне должна отображаться модель, НО по опыту работы  с OpenGL я знаю что glutWindow (на память написал, давно с OpenGL не работал) отображается как автономное новое окошко, а мне нужно сделать так чтобы эта область в которой рисуется модель, была как бы "вшита" в окно C++ и при щелчке по конкретному элементу, те самые пресловутые характеристики отображались в окне С++.

я знаю что ничего не знаю.. просто передо мной щас стоит больше дилемма философская чем аналитическая: браться за этот проект или не тратить зря свое время и уволиться с этой работы, поскольку удовольствия я от нее не получаю..


PM MAIL   Вверх
baldina
Дата 28.3.2011, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



мдя, дела... а задача-то довольно интересная. но большая. неужели все настолько плохо, что бы увольняться? почему нет удовольствия от работы?

кстати именно подобные программы со временем могут стать программами известными и востребованными (среди профильных организаций).

вообще это классическая задача САПР, её можно решить, скрещивая решения GIS и PlantDesign (удобнее, если одного производителя, скажем, Autodesk или Bentley). В этом случае программирования не так много, а для хранения и отображения используется функционал базовых продуктов.

что касается выбора объектов по щелчку - почитай про Selection в OpenGL (см. выше), там все есть для этого.

Добавлено через 2 минуты и 13 секунд
кстати увольняться имхо рано. это задача весьма объемная не только по функционалу, но и по данным. если все модели котельных придется вводить (а проектов этих котельных в 3D, конечно, нет), одно это не на один год растянется.
а для программиста такая работа - очень неплохой опыт

Добавлено через 5 минут и 34 секунды
вобщем для начала нужно решить - новое приложение (OpenGL или DirectX) или интеграция монстров
если приложение, то следует заняться проектированием. детали реализации типа "как мне отобразить окно" или "как получить объекты по щелчку мыши в OpenGL" выясняются за 5минут в интернете и не столь существенны.
напр., структура БД или иерархия геом. объектов имхо гораздо важнее и сложнее.

Добавлено через 6 минут и 36 секунд
(если интеграция, то изучив возможности базовых продуктов, и выбрав конкретные, тоже надо заняться проектированием)

Добавлено через 13 минут и 7 секунд
Цитата(lildare @  28.3.2011,  18:20 Найти цитируемый пост)
область в которой рисуется модель, была как бы "вшита" в окно 

в glut это возможно. хотя удобней и практичней Qt.
впрочем, увидев масштаб задачи, я бы в первую очередь таки подумал об интеграции имеющегося (уверен, что бюджет такого решения, даже с учетом стоимости Autocad или Microstation в итоге окажется выгодней). хотя сделать такую программу самостоятельно, конечно, интереснее...  вот только вопрос: кто и при помощи какого инструмента будет вводить геометрию. это надо сразу (хотя бы принципиально) решить
PM MAIL   Вверх
lildare
Дата 28.3.2011, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.2.2011

Репутация: нет
Всего: нет



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

PM MAIL   Вверх
baldina
Дата 28.3.2011, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



заниматься тем, что не по душе, не стоит, это уж точно
если начальник ставит такую задачу, то он либо не понимает ее масштаба (это врядли) либо не хочет платить. хотя непонятно, зачем ему (даже бесплатный) сотрудник на дохлом проекте

PM MAIL   Вверх
lildare
Дата 28.3.2011, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 11.2.2011

Репутация: нет
Всего: нет



кстати на другом форуме меня натолкнули на : http://community.livejournal.com/coin3d_ru/
что вы по этому поводу думаете?
PM MAIL   Вверх
baldina
Дата 28.3.2011, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



но за бесплатно лучше, конечно, не работать
хотя гораздо лучше работать, но не бесплатно smile

Добавлено через 3 минуты и 27 секунд
c coin3d не сталкивался, но при беглом взгляде - не то. это машиностроение, а не строительство (и не civil)
и даже с мега-библиотеками проект не становится менее масштабным. потомучто подгрузить 3D модель и покрутить её не слишком сложная задача...

Добавлено через 6 минут и 29 секунд
а вот если грамотно разбить работу на этапы, включив туда фазу проектирования, можно что-то и сдельно заработать. разрабатывая структуру данных, концепции взаимодействия с пользователем и т.д. до программирования тут еще далеко
PM MAIL   Вверх
bsa
Дата 28.3.2011, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(lildare @  28.3.2011,  18:53 Найти цитируемый пост)
да и буду честен, программист из меня так себе, не по душе мне программирование, просто судьба заставила пойти на факультет кибернетики и информатики,а дальше пошло-поехало со всеми вытекающими)) 

имхо, ищи другую работу
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.