LINUX.ORG.RU

В какую сторону копать для решения проблемы?

 , , ,


1

1

В общем решил я перед последним курсом начать делать дипломку. С научным руководителем договорился и он разрешил тем более тема объемная.

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

Также по чертежу надо составить 3д модель (она автоматически будет создаваться при клике по кнопке "Посмотреть в объеме). Заодно там же можно будет увидеть конечный вариант квартиры с учетом изменений которые хотят внести.

Проблема в том, что чертеж должен быть в формате который могут открыть известные САПР. Вот допустим в GUI нарисую я чертеж. Как потом сие творчество экспортировать в формат чертежа?

Библиотеки смотрел и они отказались переводить в формат чертежа. Как проверял: сделал файлик cpp в нем нарисовал фигурки и попытался экспортировать в чертеж. Не получилось.

Подскажите, пожалуйста, как это можно реализовать??? Писать буду скорее всего на С++. А вот графическую морду какую взять не знаю. Надо, чтобы там и 2д было(чертеж), и 3д(модель квартиры или дома в объеме). Может игровой движок взять или это плохая идея?

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

Как бы вы решили эту проблему?

Я НЕ ПРОШУ ДЕЛАТЬ ЗА МЕНЯ, прошу подсказать в какую сторону копать.



Последнее исправление: Fruct (всего исправлений: 5)

Смотри в качестве формата тебе поди и OBJ+MTL хватит, может даже чисто OBJ, скелетки и всяких пряников серьёзных 3D форматов тебе не нужно. Хотя можно брать STL (если треугольниками рисовать на всяком низкоуровневом говне) или 3DS (если хочется всех фич формата какие могут в голову придти).

Библиотеки смотрел и они отказались переводить в формат чертежа. Как проверял: сделал файлик cpp в нем нарисовал фигурки и попытался экспортировать в чертеж. Не получилось.

Плохо. Надо код смотреть, у меня вот всё получилось когда я курсовую свою писал годы тому назад.

Писать буду скорее всего на С++.

Если знаешь C#, то рассматривай его, всяко быстрее писать на нём, чем на C++ и производительности его тебе с головой хватит. Можно даже Unity/Godot взять чтоб меньше низкоуровневых абстракций писать и не заниматься всяким с вулканами/директиксами/опнджелями.

peregrine ★★★★★
()
Ответ на: комментарий от AntonI

Задача хорошая. Ну её физику эту в пень. Не понимал никогда зачем некоторые за неё цепляются, вероятно потому что первые прикладные математики в союзе вышли из физиков, которых Берия не дал загнобить товарищу Лысенко понимая что иначе ядерной бомбы СССР не видеть как своих ушей, т.к. кибернетика считалась буржуазной псевдонаукой за что до сих пор платим и будем платить ещё не одно десятилетие, т.е. чисто по историческим причинам. Физика и прикладная математика связаны только в одну сторону. Физикам прикладная математика нужна, они без неё не могут, прикладным математикам на физику плевать, они без неё могут.

peregrine ★★★★★
()
Ответ на: комментарий от AntonI

Это скорее потому что в МФТИ и МГУ много старых ископаемых на кафедрах сидят, которые по сути ничего кроме физики уже и не знают и компьютер для них страшный зверь, хотя я вполне знаю себе тех кто в МФТИ сейчас профессорами работает, а раньше работали в других ВУЗах и у них вполне себе нормально такая тема диплома раньше была да и компьютера они не боялись от слова совсем. Но товарищи которых я там знаю довольно гибкие хоть уже и старые (70+), так что они быстро под любые традиции подстроятся, особенно если можно облениться, а большой ВУЗ типа МГУ этому очень способствует. Ну и ещё бывает как у меня было на факультете - народ приходит на одну кафедру преподавать, а там начальство не то чтоб в адеквате. Работают год и идут на ПМИ потому что там начальник адекватен. Вот и получается, что вроде ПМИ, а сотрудники там сплошь и к ряду не ПМИ, а скажем, Физики у которых текучка бешеная.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от Fruct

сразу создавать файл чертежа и сразу в нем рисовать через GUI?

Наверно, всё-таки, сразу надо создавать граф свойств объекта/модели, а потом уже его рисовать в gui, создавать файл и т.п. Не? Но так-то я по образованию менеджер, не слушайте меня.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)

Для начала я бы взял «готовый файл известного формата САПР» и посмотрел как он выглядит, может быть это будет как .docx - по сути zip архив с кучей xml +

я бы поискал готовые «библиотеки» для генерации «стандартных известных форматов САПР»

romanlinux ★★★
()
Ответ на: комментарий от maxis11

Бери формат IFC. Для BIM это становится стандартом на замену DWG (тут есть много «но», но я не буду все разжевывать и скажу, что тебе нужен именно IFC).

Хорошо бы ещё уточнить у заказчика, подойдёт ли ему такой экспорт. А то скажет, что 300 лет сидят в Автокаде образца 2000 года и ещё 300 лет сидеть будут.

static_lab ★★★★★
()

Кстати

Дак я ж написал, что нам паттерны проектирования не давали. У нас программирование было такое: показали синтаксис языка. Показали как программировать задачи по математике и всякие обычные задачи по типу максимального элемента массива и на подобии. Дальше дали лабы и там теория по языку и его конструкциям, а также пример решения задачи. В конце индивидуальные варианты этих типовых заданий. Никаких паттернов проектирования не было у нас не было.

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

static_lab ★★★★★
()
Ответ на: комментарий от Fruct

Тогда узнай какой софт в виде САПР они сейчас используют. И бери те форматы, с которыми они сейчас работают. Будешь импортозамещать если что.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от static_lab

На диплом хватит силёнок. Паттерны они больше нужны чтоб код поддерживать можно было. Да и осилить что-то вроде этого https://habr.com/ru/articles/210288/#files (а ВУЗ больше дать не сможет в любом случае) самостоятельно это пара недель максимум чисто вечерком садиться на пару часиков (если себе задачи на каждый паттерн выдумывать, чтоб на практике пощупать все паттерны, если задачи не выдумывать, то вообще 40 минут хватит чтоб запомнить основное и время от времени подглядывать).

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Да дело же не в паттернах, а в целом, что в процессе обучения задачи вида «Найдите максимальный элемент в массиве», а диплом «CAD для расчёта сметы материалов».

static_lab ★★★★★
()
Ответ на: комментарий от peregrine

первые прикладные математики в союзе вышли из физиков, которых Берия не дал загнобить товарищу Лысенко понимая что иначе ядерной бомбы СССР не видеть

Все было не совсем так или даже совсем не так. Конечно создание ЯО потребовало огромного числа расчетов, но отец нынешней ПМ в СССР - М.В.Келдыш - задолго до бомбы стал известен благодаря работам по борьбе с шимми и флаттером.

А вообще ПМ в ее классическом понимании юзают еще со времен Андре Дина, британского кораблестроителя 17го века.

Физикам прикладная математика нужна, они без неё не могут, прикладным математикам на физику плевать, они без неё могут.

Нет. Даже классические «чистые» математики без физики не могут, как показал Г.Перельман - а уж приматам без физики вообще грустно. В ПМ очень много физических понятий задействовано.

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от peregrine

Это скорее потому что в МФТИ и МГУ много старых ископаемых на кафедрах сидят, которые по сути ничего кроме физики уже и не знают и компьютер для них страшный зверь,

Бггг, нет. Ты настолько неправ сейчас что я даже не знаю как комментировать…

Нормальный спец. по прикладной математике должен уметь три в одном:

  1. знать предметную область
  2. знать числ. методы
  3. уметь это все кодить.

Написавший традиционный диплом по ПМ решит задачу ТСа сходу, это детские игрушки. ТС классическую задачу по ПМ не решит, судя по всему, никогда - его этому просто не учили, п.1 и 2 он не знает в нужном объеме и практики что бы их узнать у него уже не будет.

AntonI ★★★★★
()
Ответ на: комментарий от static_lab

LibreDWG скорее не работает, чем работает. А ODA/Teigha не выдаст Educational лицензию студентам из РФ (мы же все ещё про дипломную работу говорим). Так что пусть заказчики экстренно импортозамещаются.

maxis11
()
Ответ на: комментарий от AntonI

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

То что диплом у ТС-а простой это да.

По поводу дедов это к сожалению печальный факт, который мне по опыту знаком. Человек вообще продуктивен до 55 максимум. Потом всё, мозги не те и это объективно заметно, хотя говорить об этом не принято, стариков обижать что уже, толку нет, все ими станем. Тот же Григорий Перельман далеко не в 70 лет своё открытие сделал. Да и вообще назови хоть кого-то кто свои открытия после 70 сделал. К сожалению в этом возрасте мы только проблемы недержания открывать начинаем и то повторно, потому как младенцами уже это проходили.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 3)
Ответ на: комментарий от AntonI

В ПМ очень много физических понятий задействовано.

Так давай без классических математиков, давай понятия из физики в прикладной математике, чтоб можно было про конкретику говорить. Наоборот я много чего назову, те же тензоры. Про классиков я ничего не писал.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от peregrine

Про наоборот никто не спорит, математика язык науки. Но между прочим именно механика в 17-19 веках дала мощнейший импульс к развитию математики - не зря до сих пор именно механико-математические факультеты существуют. А механика это часть физики.

Критерий Куранта - чисто физическое объяснение, шаг по времени не может превышать шаг сетки деленный на скорость. Численные схемы против потока (левый/правый уголок) - обоснование через принцип причинности. Хватит?;-)

AntonI ★★★★★
()
Ответ на: комментарий от peregrine

не увидел физику в требованиях

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

То что диплом у ТС-а простой это да.

Диплом (как и кандидатская) это КВАЛИФИКАЦИОННАЯ работа, т.е. он должен демонстрировать наличие КВАЛИФИКАЦИИ. В моем понимании значимая часть квалификации примата это знание сложной предметной области (где надо много считать) и соотв. численных методов. В теме выбранной ТС-ом я этого не вижу, счет там примитивный. Наверное как тема диплома программиста это пойдет (я ХЗ на чем там программисты защищаются).

По поводу дедов это к сожалению печальный факт, который мне по опыту знаком.

Сколько лет назад ты получил этот опыт? Я встречал дедов которые шарили в ИТ (в нужных им областях) на порядок круче молодых. Я встречал дедов которые в 70+ лет учили новый ЯП (например cuda) и вполне успешно на нем писали. И я видел очень актуальные коды написанные дедами на фортране (когда они уже были вполне себе дедами) которые никто из молодых воспроизвести не в состоянии.

Сейчас скажем на одной из кафедр Физфака МГУ такие «деды» что большую часть местных «молодых» порвут на британский флаг если речь зайдет о том что бы сделать какую нить числодробилку.

Да и вообще назови хоть кого-то кто свои открытия после 70 сделал.

WTF «открытие»? Сейчас вообще открытие (в обычном понимании этого слова) сделать очень сложно. Но многие мои коллеги сохраняют трезвый ум и вполне работоспособны не смотря на то что им за 70. Чем мне наука и нравится - у станка стоять/шпалы класть в таком возрасте уже не очень выйдет…

AntonI ★★★★★
()
Ответ на: комментарий от Shushundr

.dae давно умер, его похоронили в пользу .gltf. Причем спека по COLLADA разжирела настолько, что этот формат никто нормально не поддерживает (ни assimp загрузчик, ни варианты ColladaDOM 2 и 3, ни загрузчик в blender’e). У нас куча .dae моделей от различных клиентов, которые просто по-разному выглядят на каждом варианте загрузчика. Второй момент: .dae, .obj, .gltf не инженерные форматы, там нет очень много специфичных для BIM вещей, фактически все метаданные в итоге потеряются. Примерно по тем же вещам в кинематографе используют .usd + MaterialX, а не CAD/BIM форматы (.dwg, .ifc, .c3d, тысяча их).

P.S: Если уж персонаж решил войти в мир BIM, то надо заходить с ноги, а не на пол шишки. Без еды после диплома тогда не останется.

maxis11
()
Ответ на: комментарий от maxis11

У нас куча .dae моделей от различных клиентов

Видите, формат любим и уважаем.

просто по-разному выглядят

фигня случается (и переживать по её поводу бессмысленно).

в мир BIM надо заходить с ноги тебе нужен именно IFC

https://ru.wikipedia.org/wiki/Industry_Foundation_Classes

Сложный формат (много версий), и к тому же иностранный. Может топикстартер разработает свой, на основе кириллизированного XML.

Shushundr ★★★★
()
Ответ на: комментарий от AntonI

Сколько лет назад ты получил этот опыт?

Последний раз убедился в этом в прошлом год,у а так лет 10 последних наблюдал. Эпик уровня когда челик ведёт компьютерные сети и не понимает что такое 404 ошибка

peregrine ★★★★★
()
Ответ на: комментарий от AntonI

Критерий Куранта - чисто физическое объяснение

Ну я не уверен что объяснение это хороший пример. Обычно можно объяснить что-то далеко не одним способом 2+2=4 маленьким детям объяснить можно взяв физические камушки и посчитав их, тоже физика, точнее реальный мир используется для наглядности (наглядность тут ключевое слово). Ладно если бы ты вспомнил про некоторые безразмерные величины у которых есть физический смысл, например связанный с пространством, то же пи можно подогнать к физике, но тут опять можно относительно считать что первично математика или физика. Математика такая какая она есть потому что физика такая или наоборот физика такая потому что математика такая. Проблема курицы и яйца. Вот только математика не только в физике, а физика только в математике. Понятно что реальность которую физики стремятся описать диктует всё, но вроде сами физики дошли до того что реальность полностью описать не получится никак, всякие там теоремы о запрете копирования и броуновское движение не дадут даже идеальной физике на идеальном компьютере смоделировать то что ты будешь делать через 15 минут.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Природа вообще не в курсе что бывают разные науки, природа цельная;-)

Но исторически - математика и физика развивались вместе взаимно дополняя и обогащая друг друга. Именно математика и физика в основном.

AntonI ★★★★★
()
Ответ на: комментарий от AntonI

Критерий Куранта

В таких случаях думаю, что этот сноб 100% не разбирается в хирургии, или геологии, или судостроении, или стрельбе из лука. Игнорамус типа.

anonymous
()
Ответ на: комментарий от AntonI

WTF «открытие»? Сейчас вообще открытие (в обычном понимании этого слова) сделать очень сложно.

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

Но многие мои коллеги сохраняют трезвый ум и вполне работоспособны не смотря на то что им за 70.

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

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от peregrine

А ты не сейчас ищи, хоть в 5 веке до нашей эры найди кого-то.

Ты пытаешься сравнивать теплое и мягкое. То как делалась наука в 5 веке, как делалась наука в 19м веке и как делается наука сейчас это три большие разницы. Не говоря уже о продолжительности жизни.

открытий море даже сейчас, я бы сказал что их даже больше стало

Что ты называешь «открытием»? Кто то вот окно на проветривание открывать научился, это открытие?

Единственно что с возрастом растёт - это опыт и растёт с замедлением, но память тоже портится с возрастом при том с ускорением

Ты врач-невролог/геронтолог? Нет. Так зачем ты это пишешь? Я не спорю что с возрастом когнитивные способности в среднем падают, но делать какие то обобщения исходя из средних показателей на ВСЕХ членов популяции это знаешь ли… свой личный опыт я изложил.

AntonI ★★★★★
()
Ответ на: комментарий от AntonI

Исторически математика была ещё 5000 лет назад, та же теорема Пифагора была известна в каком-то виде ещё в 23 веке до нашей эры. Чётко и неоспоримо сформулированна она в Пифагором, который жил в 570—490 до н.э.. На этом уровне математику уже можно считать полноценной наукой, а не философией. Физика, как наука, а не метафизика и разрозненный набор фактов (уровень математики ~10 000 лет назад) появилась в XVII веке. Да алгебра и геометрия срослись в математику в 1637 году. Физика пока не срослась с математикой, хотя всё к этому идёт, но идти ИМХО будет ещё лет 500, если конечно ИИ и технологическая сингулярность кардинально не ускорят процесс.

ЗЫ

Торговля и строительство нуждались в математике и они сильно старше физики.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от AntonI

Ну так достань контрпример в виде того что 70+ летний дед сделал научное открытие. В любой области. Наука этим и занимается. Я вот могу тебе кучу примеров достать когда челик сделал открытие до 70 лет. Эйнштейн, Пуанкаре, Джеймс Уотсон (хоть он и расист).

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

Джеймс Уотсон (хоть он и расист).

Т.е. у расистов интеллект ниже?

Это тоже расизм получается – судить об интеллекте о наличии расизма.

anonymous
()
Ответ на: комментарий от peregrine

Твои 70+ высосаны из пальца - 200 лет назад дедами считались люди старше 40ка, ещё через 200 лет дедами буду считаться люди старше 100.

Но изволь - Ньютон, Кельвин, Дирак. Хватит?

Такое ощущение что тебе нужно спорить просто что бы спорить:-(

AntonI ★★★★★
()
Ответ на: комментарий от peregrine

Что ты хочешь донести, я не понимаю? Истрическки прикладная математика родилась как сплав физики и математики. Исторически именно физика подняла математику до того состояния в котором она сейчас.

Это факты, вот хоть наизнанку ты вывернись. Если ты их не признаешь это только твои сложности:-(

AntonI ★★★★★
()

Что-то в треде не увидел правильного ответа, поэтому добавлю его: Самое сложное в этой задаче — это GUI, поэтому бери исходники Sweet Home 3D и добавляй/обрезай необходимый/ненужный тебе функционал.

Evgueni ★★★★★
()