|
|
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Подскажите, как хранить фигуру с переменной формой. Сегодня это квадрат, а завтра стал треугольником или кругом. Как организовать и какие поля таблицы необходимо создать? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 10:27 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticПодскажите, как хранить фигуру с переменной формой. Сегодня это квадрат, а завтра стал треугольником или кругом. Как организовать и какие поля таблицы необходимо создать? Спасибо. Забыл сказать, что именно хранить: координаты, площадь и др. данные, необходимые для вычитания фигур одна из другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 10:34 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь здесь скажет, что я "дурак" хотя бы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 12:24 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticПодскажите, как хранить фигуру с переменной формой. Сегодня это квадрат, а завтра стал треугольником или кругом. Как организовать и какие поля таблицы необходимо создать? Спасибо. Может, Вам что-то из этого нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 12:55 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
PetrovVA, О! Буду рыть в этом направлении! Спс. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 12:57 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Что-то мало в нете информации про эти пространственные бд... Похоже придется как-то спроектировать обычную бд для хранения геометрических 2d фигур... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 14:36 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticЧто-то мало в нете информации про эти пространственные бд... Похоже придется как-то спроектировать обычную бд для хранения геометрических 2d фигур... Любая современная БД поддерживает сырые типы данных (BLOB/RAW/LOB/LONG). Ты можешь создать таблицу: Код: sql 1. 2. 3. И спокойно кидать туда свои треугольники в сериализованном виде из языка программирования с которым ты работаешь. Никто и слова не скажет. За проектирование ты отвечаешь сам. Другой вопрос как индексировать эти данные и как их искать. Но это тема для отдельной дискуссии потому-что неизвестно что ты собираешся искать и как. Выше предложили использовать GS/GID. Это круть несусветная и стрельба из пушки по птичкам. Надо оно тебе или не надо чтоб нарисовать квадрат Малевича - х.з ? Препода удивить разве что. А нормализация/оптимизация геом-данных задача интересная и бесконечная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 15:48 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
mayton, спасибо за ответ! Особенно понравилось про стрельбу из пушки по птичкам ))) Мне надо из плоских квадратных кусков дерева, например 3х3 м., брать кусок размером 2х2 м. и остаток запечатлить в бд. Чтобы потом взять из этого кусочка квадратик размером 0.5х0.5 м. Простая, наверно задача, но у меня голова не может понять, как это сделать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 16:21 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Это явно продолжение оттуда . Вот только смысл в хранении фигур для решения изложенной задачи? Или вы собираетесь управлять с помощью БД именно динамикой процесса раскроя вообще "на лету"? В противном случае (если вас всё же интересует именно поиск оптимальных раскроев) - придется разбить процесс на техоперации-транзакции: оприходовали материалы - собрали задание на раскрой - раскроили по текущему состоянию - списали раскрой на продукцию - пересчитали остатки. Плюс завели типовые операции (основные типоразмеры материалов->раскрой в основные виды продукции), чтобы каждый раз заново полностью не пересчитывать оптимальные раскрои. Плюс завели полное списание "неликвидных" остатков-кусков, ибо они только мешаться в алгоритме будут (безотходного прроизводства для вашего случая пока не придумано ). В целом, ИМХО, задачка на оптимизацию использования материалов будет не самым главным пунктом в вашей задаче... Хотя, кто его знает,может вам задали решить именно её - но тогда надо выбирать средства реализации под (выбранный вами) алгоритм, а не наоборот. А, заметил ответ ваш. А что же вы в той теме про всякие треугольники с кругами сообщали, если у вас "квадратики"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 16:36 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
AndreTMЭто явно продолжение оттуда . Вот только смысл в хранении фигур для решения изложенной задачи? Или вы собираетесь управлять с помощью БД именно динамикой процесса раскроя вообще "на лету"? В противном случае (если вас всё же интересует именно поиск оптимальных раскроев) - придется разбить процесс на техоперации-транзакции: оприходовали материалы - собрали задание на раскрой - раскроили по текущему состоянию - списали раскрой на продукцию - пересчитали остатки. Плюс завели типовые операции (основные типоразмеры материалов->раскрой в основные виды продукции), чтобы каждый раз заново полностью не пересчитывать оптимальные раскрои. Плюс завели полное списание "неликвидных" остатков-кусков, ибо они только мешаться в алгоритме будут (безотходного прроизводства для вашего случая пока не придумано ). В целом, ИМХО, задачка на оптимизацию использования материалов будет не самым главным пунктом в вашей задаче... Хотя, кто его знает,может вам задали решить именно её - но тогда надо выбирать средства реализации под (выбранный вами) алгоритм, а не наоборот. А, заметил ответ ваш. А что же вы в той теме про всякие треугольники с кругами сообщали, если у вас "квадратики"? ))) На самом деле и треугольники и квадратики и даже...КРУГИ, товарищи. Да-да, все настолько серьезно. Рабочие - коварные люди. Одному вздумалось отрезать от несчастного 3х3 треугольник, другому от того же - круг... Вот только совсем недавно до меня дошло, что проблема-то в оптимальном раскрое. И при том оказывается, мне надо сделать так, чтоб раскрой выбирал не я (что было бы лучше всего), а терминатор. Сейчас искал хоть одну опен сорс программу, да нет их на свете... Есть одна бесплатная - NCL. Написана неким Полевовым А. В. - кандидатом этих самых наук. Но саму программу с тех серверов, что гугл выдал - не скачать (bed gatewey), а про исходники - вообще как будто такого на свете нет. На одном форуме питонистов, один парень для своего бизнеса заказал программу для автоматизации раскроя (по типу Астро-Раскрой) с учетом остатков в бд. Его попросили написать требования. После того, как он это сделал, ему назвали цену - не менее 5000$. А мне надо дипломную работу написать. "Калькуляция материалов при производстве мебели". Как раз и надо, чтобы раскрой был примитивный, но был и что самое главное - остаточки в бд чтоб сливались. Вот и вся история, грусная. ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 18:09 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
AndreTM, AndreTMВот только смысл в хранении фигур для решения изложенной задачи? Как мне сначала показалось, что надо написать енжин, который бы смог контролировать формы материалов. Форма изменилась - записал изменение в бд вместе с датой изменения. Суть в том, что надо типа в программе собрать шкаф. Чтобы при выборе деталей, программа сама расчитала все необходимые материалы (совершила раскрой), выдала цену и записала все остаточки в бд. Это реально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 18:15 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticПодскажите, как хранить фигуру с переменной формой. Сегодня это квадрат, а завтра стал треугольником или кругом. Как организовать и какие поля таблицы необходимо создать? Спасибо. То есть я на этот топик отвечал, а не на тот Cryptic, любая форма, в том числе трехмерная, имеет описание в виде системы уравнений то, что одна форма может быть включена в другую - тоже отношение между системами уравнений ЗЫ Из всех, которые включают, выбираем ту, с которой минимальная разница по площади (объему) Также, если сразу много фигур надо вырезать - тоже системы уравнений. Хитрость тогда - умнее строить приближенные решения. ЗЫ В этом вроде и соревнуются метода (построения алгоритмы) оптимального раскроя. Это можно назвать алгебраических подход. И как думается дальше - если все кривые приближать многочленами, то в БД будут храниться коэффициенты многочленов, сгруппированные в системы уравнений. ... ну и пошло поехало до товарного вида ЗЫ И резать с краю, чтобы то, что осталось было более целое, - тоже можно описать формально-математически. С другой стороны могут понадобиться, например, куски длинные и узкие, а не квадратные. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 19:51 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Cryptic, Если речь про раскрой для мебели, то по-хорошему там надо две фигуры хранить --- лист и его годная часть. Например, у листов при транпортировке часто слегка бьют углы или дерут кромки, эти части можно или нельзя пускать в крой в зависимости от того, уберутся они на последующих этапах или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 20:59 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Cryptic, Поскольку это - курсовая, да ещё "реально-производственная", то не заморачивайтесь сильно с точным раскроем. Если ваш алгоритм будет экономить 5% материала, затрачивая на расчёт целый рабочий день - никто алгоритмом пользоваться не будет. Один из путей я вам приводил - сделайте таблицу "примитивов" раскроя (как можно порезать такой-то кусок на такие-то части), пусть эта таблица будет "справочником", пусть большим (БД стерпит), но позволяющим не заниматься математикой, а оперировать в OLAP. Тогда весь "алгоритм" будет сводиться к достаточно простым выборкам. А вот наполнение/дополнение этой таблицы - процесс длительный, но требуется редко , проводится как техоперация в нерабочее время, соответственно, там уже и привлекается математика. НО! В дипломе вы можете даже не заморачиваться этой самой математикой! - просто укажете принцип, а саму такую табличку IRL, может, фирма заказывает на кластерах посчитать/пересчитать, разово за денюшку... У вас ведь тема - "Калькуляция материалов при производстве мебели", а отнюдь не "Математические методы оптимального раскроя". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 21:45 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
AndreTMсделайте таблицу "примитивов" раскроя (как можно порезать такой-то кусок на такие-то части), пусть эта таблица будет "справочником", пусть большим (БД стерпит), но позволяющим не заниматься математикой, а оперировать в OLAP. Тогда весь "алгоритм" будет сводиться к достаточно простым выборкам.То есть нумеруем возможные по-разному урезанные листы как возможные состояния марковского автомата, и держим в справочнике граф "переходов". "Изрезали весь лист, можно выбрасывать" --- поглощающее состояние. Хотел бы я посмотреть на пример такого справочника, особенно для достаточно большого числа деталей, и простой вопрос вида "есть такие-то листы и такие-то заказы, раскидаь детали по листам" на SQL, без хранимки с довольно матерной эвристикой :) P.S. Я не издеваюсь, просто разных программ раскроя в своё время перерыл кучу, и ни одной полностью хорошей не нашёл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 22:19 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticПодскажите, как хранить фигуру с переменной формой. Сегодня это квадрат, а завтра стал треугольником или кругом. Как организовать и какие поля таблицы необходимо создать? Спасибо.авторSVG (от англ. Scalable Vector Graphics — масштабируемая векторная графика) — язык разметки масштабируемой векторной графики, созданный Консорциумом Всемирной паутины (W3C) и входящий в подмножество расширяемого языка разметки XML, предназначен для описания двумерной векторной и смешанной векторно/растровой графики в формате XML. Поддерживает как неподвижную, так и анимированную интерактивную графику — или, в иных терминах, декларативную и скриптовую .. ну а если ваши фигуры, это только многоугольники, можно хранить координаты точек. Это сгодится для хранения и визуализации. А вот как сделать ваш автомат оптимального раскроя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 23:51 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
S.G.SVG...Издеваетесь? За глаза хватит мелкого подмножества DXF или, ещё проще, WKT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 23:55 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Я сомневаюсь что автор придумает что-то принципиально новое в задаче оптимального раскроя. Скорее всего дать возможность человеку просто вводить раскрой в БД и всё. Или подключить внешние патентованные библиотеки и фреймворки для решения проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2013, 23:58 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticСейчас искал хоть одну опен сорс программу, да нет их на свете... Посмотрите Drools Planner ( теперь Optaplanner , делает именно то что вам нужно. Но это библиотека, как хранить и подавать ей данные решать вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2013, 05:35 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
mayton, maytonЯ сомневаюсь что автор придумает что-то принципиально новое в задаче оптимального раскроя. Скорее всего дать возможность человеку просто вводить раскрой в БД и всё. Или подключить внешние патентованные библиотеки и фреймворки для решения проблемы. Да-да! Мне это и нужно. Чтобы из интерфейса програмы можно было указать, что мне нужен определенный кусок лисат, и затем изменение формы зафиксировалось в бд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2013, 07:05 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
пролетевший, спасибо! Вот этого я не нашел. Обязательно гляну. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2013, 07:06 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, iv_an_ruCryptic, Если речь про раскрой для мебели, то по-хорошему там надо две фигуры хранить --- лист и его годная часть. Например, у листов при транпортировке часто слегка бьют углы или дерут кромки, эти части можно или нельзя пускать в крой в зависимости от того, уберутся они на последующих этапах или нет. Учту ваш совет. спс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2013, 07:07 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Вот кстати тот форум, где парень хотел заказать подобную программу: http://python.su/forum/topic/9425/?page=1#post-61904 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2013, 07:09 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
И вот ещё трёп был: http://www.sql.ru/forum/actualthread.aspx?tid=832227 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2013, 17:10 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
У меня есть идея. Но прокомментируйте ее адекватность, пжлст, ув. программисты. В таблице хранения материалов хранить двумерный массив булевского типа. Количество его элементов будет совпадать с количеством сантиметров в размерах листов материалов. Например 300x300 см. размер листа ДСП. И пока лист еще ни разу не резали, все элементы его массива будут равны true. Но как только отрезали четвертую часть, та область, которой не стало будет равна false. Тем самым форма, которая будет изменяться - фиксируется в бд. Да кстати, еще и площади можно отнимать и записывать новое значение, чтобы по площади можно было автоматически проверять, имеет ли смысл вообще тот или иной лист кроить. Как считаете, внес я новое слово в эту область? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 08:40 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Очень "свежую" струю, я бы сказал Представьте себе, хотя бы для одного листа (1..300,1..300): на нём вырезана область с координатами (300,300). Вы проделаете 300 2 сравнений (итераций цикла for), чтобы вычислить этот факт. Вто же время я, у которого "вырезанные куски" хранятся в коллекции объектов-отрезков, проделаю одну итерацию (for each)... Вам же сказали уже давно - не выдумываете велосипед. Если желаете всё же встроить в программу какой-то метод раскроя, то почитайте литературу и подберите нужный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 11:13 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticУ меня есть идея. Но прокомментируйте ее адекватность, пжлст, ув. программисты. В таблице хранения материалов хранить двумерный массив булевского типа. Количество его элементов будет совпадать с количеством сантиметров в размерах листов материалов. Например 300x300 см. размер листа ДСП. И пока лист еще ни разу не резали, все элементы его массива будут равны true. Но как только отрезали четвертую часть, та область, которой не стало будет равна false. Тем самым форма, которая будет изменяться - фиксируется в бд. Да кстати, еще и площади можно отнимать и записывать новое значение, чтобы по площади можно было автоматически проверять, имеет ли смысл вообще тот или иной лист кроить. Как считаете, внес я новое слово в эту область? :) Чувак завязывай с перепостингом. На этом форуме за это наказывают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 14:36 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
mayton, авторЧувак завязывай с перепостингом. На этом форуме за это наказывают. Понял. Больше не буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 14:53 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticПонял. Больше не буду.Достаточно просто поставить ссылку на ту тему и продолжать там обсуждение... Еще можешь в той теме прикрепить линк по типу "А вот мы там еще обсуждали". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2013, 15:31 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticУ меня есть идея. Но прокомментируйте ее адекватность, пжлст, ув. программисты. В таблице хранения материалов хранить двумерный массив булевского типа. Количество его элементов будет совпадать с количеством сантиметров в размерах листов материалов. Например 300x300 см. размер листа ДСП. И пока лист еще ни разу не резали, все элементы его массива будут равны true. Но как только отрезали четвертую часть, та область, которой не стало будет равна false. Тем самым форма, которая будет изменяться - фиксируется в бд. Да кстати, еще и площади можно отнимать и записывать новое значение, чтобы по площади можно было автоматически проверять, имеет ли смысл вообще тот или иной лист кроить. Как считаете, внес я новое слово в эту область? :) ну это - дельта X и дельта Y в численных алгоритмах, ну - нарисовал и что и какие шаги в направлении оптимизации? Или хочешь так в натуре интерактивно и разрезать - как в работе с графикой в Photochop? Далее выпадание в непростые алгоритмы работы с графикой, где будет недостаточно памяти и процессорной мощи - и тогда программирование на ассемблере, так как никакие Adobe свои библиотеки, которые выстраданы годами, никогда не станут выкладывать в свободное использование? Или как в компьютерной игре - виртуально пришел на виртуальный склад, прикинул примерно листы и резать начал, а потом ели не то - откатился, и опять нарезаешь. ... вообще мультипликация оживит интерфейс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2013, 10:14 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Гляньте, пожалуйста. Вот спроектировал бд. С хранением кусков в коллекции объектов и наполнением рюкзака идеи хорошие. Над ними я еще долго буду думать. Вопрос вот в чем, какие поля должны быть у таблицы "Форма"? Как записывать в нее данные о форме, чтобы воссоздавать потом в программе? Формы могут быть любые. Да, и нужна ли тогда таблица "Размер", если после первого раскроя ее данные перестанут отражать действительность? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 12:58 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Форма, которая сейчас со знаком вопроса, в дальнейшем доставит хлопот, имхо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 14:23 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
например, такая форма: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 14:27 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
S.G.Форма, которая сейчас со знаком вопроса, в дальнейшем доставит хлопот, имхо. Она уже доставляет... Пока что не ясно какие поля в нее добавить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 14:28 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticГляньте, пожалуйста. Вот спроектировал бд. С хранением кусков в коллекции объектов и наполнением рюкзака идеи хорошие. Над ними я еще долго буду думать. Вопрос вот в чем, какие поля должны быть у таблицы "Форма"? Как записывать в нее данные о форме, чтобы воссоздавать потом в программе? Формы могут быть любые. Да, и нужна ли тогда таблица "Размер", если после первого раскроя ее данные перестанут отражать действительность? Спасибо.Как то у вас заморочено, и, главное, заморочено не туда. Есть материалы (с цветом, текстурой и прочими не интересными для технолога параметрами) и группы материалов (а вот там уже интересное для технолога --- скажем, преформинг "голубой" 25мм, ламинат сверху подвёрнут вокруг скруглённой передней кромки, низ бумага лист, задняя кромка пластик 0.5мм, торцы ровные). Есть чертежи изделий с рекурсивной деталировкой, часть деталей кроится из материалов, часть --- покупные готовые, часть --- прочие самоделки, упаковка и самоотваливающаяся пофигень. Есть листы материалов, их режут работники, для этого ставят режущие инструменты на станки, в результате резки каждый новый или неновый лист превращается в ноль, один или несколько неновых, плюс в некоторое количество годных деталей в запасе и сколько-то брака, а работник отвечает за то, чтобы размеры неновых листов правильно попадали назад в базу и за какую-то часть брака, происходящего по каким-то причинам брака. Из деталей в запасе потом в соответствии с деталировкой сделают узлы и конечные изделия загонят на склад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 14:30 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Cryptic, ты привел совершенно бесполезную и ненужную в контексте решаемого вопроса картинку. Эта часть БД в разрезе данного вопроса - совершенно неинформативна. Тебе надо было привести только таблицу Форма. И спрашивать какой тип данных для поля Форма нужно задать и как ним работать ТЕМИ СРЕДСТВАМИ sql которые у тебя есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 14:34 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
mayton, спасибо, я уже понял, что неудачник. А у вас есть соображения по поводу полей этой злой таблиТСЫ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 14:40 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Чел. мы ходим по кругу. Какая у тебя в данный момент DBMS. Без этой информации дальше говорить безсмысленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 14:44 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
maytonЧел. мы ходим по кругу. Какая у тебя в данный момент DBMS. Без этой информации дальше говорить безсмысленно. Вы хотели сказать СУБД? Я еще на этапе проектирования, поэтому еще определяюсь, какую СУБД выбрать. Пока остановился на sqlite или access. Думаю... А разве нельзя спроектировать независимую структуру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 14:53 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
... ну скажи мне аналог типа данных BLOB или RAW в этой твоей независимой структуре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 14:55 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticS.G.Форма, которая сейчас со знаком вопроса, в дальнейшем доставит хлопот, имхо. Она уже доставляет... Пока что не ясно какие поля в нее добавить.Это просто WKT или WKB, в чём вопрос? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 15:01 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, Посмотрел вики на английском. Это уже интересно. Надо разобраться, как этим пользоваться...Найти примеры и документацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 15:10 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticmaytonЧел. мы ходим по кругу. Какая у тебя в данный момент DBMS. Без этой информации дальше говорить безсмысленно.Вы хотели сказать СУБД? Я еще на этапе проектирования, поэтому еще определяюсь, какую СУБД выбрать. Пока остановился на sqlite или access. Думаю... А разве нельзя спроектировать независимую структуру?можно в поле BLOB лежит XML-документ а уж что внутри XML-документа - координаты, методы доступа, уравнения - с точки зрения БД никакого значения не имеет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 16:29 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticS.G.Форма, которая сейчас со знаком вопроса, в дальнейшем доставит хлопот, имхо. Она уже доставляет... Пока что не ясно какие поля в нее добавить.Cryptic, вот здесь- 14133341 я скромненько в конце сообщения написал простой вариант хранения. Обычные точки (x,y), которые являются концами отрезков (если в фигуре только прямые линии). Правда, потом меня iv-an-ru отругал за использование сложного слова SVG :) и может быть поэтому предложение осталось незамеченым :) Кстати, описание и хранение многоугольника, это только 1-2 процента от сложности всей задачи. Потом пойдет еще "проверка, для заданой фигуры, содержится ли она в многоугольнике", при том, что ее наверное можно крутить под любым углом, а далее, то же самое, но уже "оптимально"- чтобы отрезать наименьший кусок от многоугольника. И вы рано обрадовались, услышав про заполнение рюкзака. Она, гм, непростая. Задача про заполнение рюкзака родственна задачам дешифровки сообщений ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 16:32 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
PetrovVACrypticПодскажите, как хранить фигуру с переменной формой. Сегодня это квадрат, а завтра стал треугольником или кругом. Как организовать и какие поля таблицы необходимо создать? Спасибо. Может, Вам что-то из этого нужно? Не, это ему не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 16:46 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticУ меня есть идея. Но прокомментируйте ее адекватность, пжлст, ув. программисты. В таблице хранения материалов хранить двумерный массив булевского типа. Количество его элементов будет совпадать с количеством сантиметров в размерах листов материалов. Например 300x300 см. размер листа ДСП. И пока лист еще ни разу не резали, все элементы его массива будут равны true. Но как только отрезали четвертую часть, та область, которой не стало будет равна false. Тем самым форма, которая будет изменяться - фиксируется в бд. Да кстати, еще и площади можно отнимать и записывать новое значение, чтобы по площади можно было автоматически проверять, имеет ли смысл вообще тот или иной лист кроить. Как считаете, внес я новое слово в эту область? :) Ну к этой идее очень легко придумать простую оптимизацию -- закодировать это по что-то типа RLE -- хранить не саму матрицу квадратных сантиметров, а интервалы её, имеющие какое-то значение. Скорее всего, не годные, поскольку их меньше. Хранить либо построчно, либо хранить квадраты (ну, прямоугльники конечно) с браком. для каждого прямоугольника нужно хранить верхний левый и нижний правый угол (координаты). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 16:50 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
MasterZivPetrovVAпропущено... Может, Вам что-то из этого нужно? Не, это ему не нужно. +1 Сам по себе GIS-engine поможет автору только в решении утилитарных вопросов типа "вычесть из полигона другой полигон" но он совершенно не помошник в самой мясной части этой задачи именно в автоматизации раскроя. Гисы для этого не предназначены. Еще добавлю что сейчас абсолютно все равно как хранить. Можно SVG, можно txt можно в блобе. Сложность данной задачи - сопряжение базовой и векторно-графической части и подключение external-алгоритма. И БД здесь вообще десятое дело. Ее можно даже не рассматритать и ограничиться только двумя операциями типа "прочесть документ-лист" и "сохранить документ" по ID. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 17:03 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
S.G., авторCryptic, вот здесь-14133341 я скромненько в конце сообщения написал простой вариант хранения. Обычные точки (x,y), которые являются концами отрезков (если в фигуре только прямые линии). Правда, потом меня iv-an-ru отругал за использование сложного слова SVG :) и может быть поэтому предложение осталось незамеченым :) Думаю, вы правы. Хранить точки контура формы будет самым, а может и лучшим вариантом для данной задачи. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 17:27 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
mayton, я уже успел понять, что вы "крупнокалиберный" чувак. Поэтому некоторые ваши сообщения не вмещаются в мою еще очень небольшую нейронную сеть. авторСложность данной задачи - сопряжение базовой и векторно-графической части и подключение external-алгоритма External-алгоритм - что это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 17:32 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Crypticmayton, я уже успел понять, что вы "крупнокалиберный" чувак. Поэтому некоторые ваши сообщения не вмещаются в мою еще очень небольшую нейронную сеть. авторСложность данной задачи - сопряжение базовой и векторно-графической части и подключение external-алгоритма External-алгоритм - что это? ОК. Проще. Внешний (external) это то что ты найдешь или скачаешь в виде библиотек или исходников. Дальше мне говорить трудно не видя твоего ТЗ. По сабжу я так и не понял тебе надо автоматизировтаь авто-раскрой или человек будет мышкой ставить лекалы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:38 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
mayton, maytonПо сабжу я так и не понял тебе надо автоматизировтаь авто-раскрой или человек будет мышкой ставить лекалы? В данном случае - задача, чтобы было либо первое, либо второе. Либо человек, либо машина, но чтобы геометрия резки учитывалась в системе и раскрой (или резка) материалов была с максимальной экономичностью (естессно на уровне дипломной работы, а не уровня реал предприятия). Вот в чем задача. Научный руководитель хочет, чтобы именно геометрия как-то учитывалась, и в идеале, чтоб машина сама искала подходящую геометрию и совершала резку. Но если не получится, то хотя б, чтобы человек вводил нужную длину-ширину и выбирал из представленных ему кусков сам (хотя вводить длину-ширину ему в любом случае придется самому). Но кто осуществит этот поиск и выбор нужного куска? Be or not to be, вот в чем вопрос :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2013, 18:48 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Что-то типа во этого. Для каждой формы есть набор точек с порядком, чтобы потом понять что с чем соединять. Что думаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2013, 08:11 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Cryptic, Ещё раз. Вы храните _фигуру_. Всю. Целиком. В одном поле. В виде WKT или WKB (в зависимости от того, что вам нужнее --- удобство отладки или производительность). Вы работаете с фигурами средствами GIS-расширения, благо координатная система для простого Декарта есть у всех. Вы _не_ изобретаете г-велосипед, потому что вы понятия не имеете, каких офигительный усилий требует создание даже г-велосипеда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2013, 08:28 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
AndreTM, авторОдин из путей я вам приводил - сделайте таблицу "примитивов" раскроя (как можно порезать такой-то кусок на такие-то части), пусть эта таблица будет "справочником", пусть большим (БД стерпит), но позволяющим не заниматься математикой, а оперировать в OLAP Пытаюсь осмыслить эту фразу...А как эти самые примитивы раскроя будут выглядеть? Например квадрат? Мне нужно хранить его различные размеры? Но как мне это может помочь? Все равно придется путем алгоритма находить и вычитать фигуры. Поясните на примере, пжлст. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 06:57 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, приведите пример wkt создания и помещения в таблицу полигона Г-формы, пжлст. А то что-то не могу найти простого и понятного примера... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 08:06 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
CrypticAndreTMОдин из путей я вам приводил - сделайте таблицу "примитивов" раскроя (как можно порезать такой-то кусок на такие-то части)...Пытаюсь осмыслить эту фразу...А как эти самые примитивы раскроя будут выглядеть? Например квадрат? Мне нужно хранить его различные размеры? Но как мне это может помочь? Все равно придется путем алгоритма находить и вычитать фигуры.Например... Для простоты картины - будем считать, что пока круги не учитываем (хотя и можем). Мы имеем куски материала с известными параметрами, который можно порезать на заготовки различными путями. Естественно, сначала это "целые" куски, например, прямоугольной формы, в процессе использования они изменяются... Пусть кусок материала описывается "квадратиками" известного размера (1 кв.см или 1 кв.дм или т.п.). Пусть заготовки, которые требуются, будут только прямоугольниками. Пусть мы имеем в поставках кусок квадратной формы 2*2, описываемый как {1,2,3,4}. Рассчитаем единоджы и заранее , что же мы можем из него получить: - одну заготовку формы {1,2,3,4} - одну заготовку 1*1 и 1 кусок формы {2,3,4}. Таких вариантов 4 (отрезаем квадратик с каждого из углов), но в силу симметрии - они эквивалентны, поэтому такой вариант раскроя считается за один - две заготовки 1*1 и 1 кусок формы {3,4}. Аналогично, один вариант раскроя - три заготовки 1*1 и 1 кусок формы {4} - четыре заготовки 1*1 - одну заготовку 2*1 и 1 кусок {3,4} - две заготовки 2*1 В процессе расчета мы, на самом деле, должны были рассчитать раскрой остающихся предыдущих кусков, если они не заготовки, рекурсивно: (2) -- {2,3,4} (режем, у нас не предполагается заготовок такой формы): -- одна заготовка 1*1 и 1 кусок {3,4} --- {3,4} = одна заготовка 2*1 --- 1 заготовка 1*1 и 1 кусок {4} ---- {4} = заготовка 1*1 (3) -- {3,4} = одна заготовка 2*1 -- 1 заготовка 1*1 и 1 кусок {4} --- {4} = заготовка 1*1 (4) -- {4} = заготовка 1*1 (6) -- {3,4} = одна заготовка 2*1 -- 1 заготовка 1*1 и 1 кусок {4} --- {4} = заготовка 1*1 Итак, создадим таблицы (куски, заготовки, раскрой) и заполним их Куски IdРазмерФорма14{1;2;3;4}23{2;3;4}32{3;4}41{4} IdРазмер12*222*131*1 Раскрой Id_КускаId_ЗаготовкиКоличествоЗаготовокId_КускаОстатка43103314332032102313232423302214131213231334134012131220И так для каждого исходного куска материала. Оптимальные раскрои видны - при подборе (имеем в наличии столько то таких-то кусков -> получить такое количество таких-то заготовок) мы просто будем пытаться минимизировать размеры кусков-остатков в соответствии с Раскрой и Куски.Размер . Да, таблица с раскроями будет большой, но ведь можно её и оптимизировать, исключив заведомо ненужные варианты (например, разрез куска 100*100 на 10000 заготовок 1*1 и т.п.). Ещё, мы можем исключить из таблицы Раскрой строки с количеством>1 (и затем вообще отказаться от поля КоличествоЗаготовок ), тогда расчеты можно проводить, "отделяя по одной заготовке" и затем рекурсивно обращаясь к Раскрою снова. В целом, вы тогда можете сосредоточить логику именно на получении оптимального плана по изготовлению заготовок, не отвлекаясь при этом каждый раз на расчеты по раскроям исходных кусков материала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 14:58 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
AndreTM, Пусть у нас всего 9 типов деталей (простейшая тумбочка с ящиками одинаковых размеров, фанерные донца не в счёт). Пусть на лист влезает примерно до 8 деталей корпуса или до 32 деталей ящиков. Тогда в базу придётся залить порядка (1 + 4^4) ^ 8 = 2x10^19 вариантов кроя. Многовато. Лучше всё же кроить on denamd. Без вариантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 15:50 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, Симметрию учли? Последнее примечание (про незабивание всех вариантов, а "пошаговую" работу) учли? Оптимизацию с той точки зрения, что при массовом раскрое (1000 исходников -> 500 запчастей тумбочек) можно для 95% набора сначала использовать уже когда-то ранее найденные "оптимальные" шаблоны (с нулевыми остатками) учли? И к тому же, я не предлагаю полностью отказаться от "модуля произвольного раскроя", если он требуется постановкой задачи, я предлагаю упростить и ускорить типовые разложения... Квадратные уравнения всяко проще решать по теореме Виета, нежели методом Ньютона (это не по теме топика, если чо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 16:14 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
AndreTM, Не решается эта задача "пошагово". Во-первых, не факт, что для кроя листа на 3 детали X и 2 детали Y надо отрезать сначала все X а потом все Y или наоборот. Во-вторых, для какого-то набора крой может быть отрисован вручную, и его надо быстро найти. Или даже подсказать, что вот такой набор можно сделать из стольки-то таких кроев, столько-то эдаких, дорезать вон ту детальку так-то из того-то отхода, а остаток сложить на склад, Или выдать оператору кучу вариантов, по одной полосе на вариант, пусть он сам голову греет. А то, что получится в результате кроя, вовсе не обязательно совпадёт с вашими ожиданиями, и надо предусматривать сценарий, в котором получается брак и не те отходы, которые ожидались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 17:30 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
авторзадачи такого раскроя решаются быстро Не верно. =) Задачи рюкзака в подновляющем большинстве невозможно решить в лоб поэтому используют приближенные решения этим они и интересны. имхо: Автор даже для себя не может точно сформулировать задачу - Прежде всего меня интересует что подразумевается под фигурой(прямоугольник, треугольник, выпуклый или не выпуклый многоугольник) и оптимальным раскроем (например минимальные отходы или остатки правильной формы или максимальное использование остатков) необходима четкая формулировка без этого вперед двигацо глупо. Пока не очень понятно что такое оптимальный раскрой без четкого определения сложно написать оценочную функцию которая будет решать оптимальный ли раскрой или нет. Попробую предположить что при производстве мебели в основном будут использоваться прямоугольные части, чуть реже прямоугольники будут иметь треугольные спилы, потом не выпуклые многоугольники затем выпуклые многоугольники (окружности можно описать как многоугольники погрешности будут небольшими) на основании этого уже можно ввести квалификацию остатков и деталей Прямоугольные треугольные многоугольники также для фикции подбора раскроя не будет лишней информация о площади (остатка/детали)минимальный и максимальный прямоугольник(радиус) в который вписывается фигура это поможет отфильтровать заведомо неверные решения После того как более или менее определимся с фигурами можно строить раскрой для начала отсортировать материалы запчасти остатки по размерам площади прямоугольники к прямоугольникам треугольники к треугольникам большое к большому маленькое к маленькому выпуклое к впуклому после этого уложить все это каким нить простым алгоритмом типа оценить оценочной функцией результат Попробывать изменить(мутировать) результат на основе оценки изменить -> оценить -> изменить -> оценить .... и так N число раз Результат получится заведомо не идеален но весьма близок к этому (генетический алгоритм) процентов на 5% не попадет в идеальное решение можно использовать скрещивание удачных изменений но имхо это осложнит решение и весьма слабо улучшит результат простого перебора при небольшом числе итераций если же задача стоит в максимальной оптимизации то скрещивание обязательно. Основной упор можно сделать на прямоугольники их даже можно оптимизировать отдельно т.к. они очень легко считаются и подбираются если бы я решал такую задачу то: 1. Выбрал бы все неправильные фигуры и попытался их уместить в минимальный прямоугольник не превышающий размером исходный матерьял ( умолчу про множество нюансов ... =) ) т.к. Все оставшиеся детали будут прямоугольными то и оптимизировать их как прямоугольники имхо2: задача весьма и весь мутная следовательно и ответы весьма мутные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 17:32 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, Хотите бесплатный продарок --- идею действительно полезной софтины? Пусть камера делает снимок стола с лежащими на нём отходами, определяет их размеры и заносит в базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 17:33 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
iv_an_ruНе решается эта задача "пошагово". Во-первых, не факт, что для кроя листа на 3 детали X и 2 детали Y надо отрезать сначала все X а потом все Y или наоборот. Во-вторых, для какого-то набора крой может быть отрисован вручную, и его надо быстро найти. Или даже подсказать, что вот такой набор можно сделать из стольки-то таких кроевПочему отрезАть надо по порядку? Предложено: " отрЕзать одну из{X,Y,Z,..}, от оставшегося отрЕзать ещё одну из {X,Y,Z,..},.. ", просто все результаты этих "отрезаний" уже рассчитаны и занесены в базу. Ну и "быстрый поиск", "такое-то из такого-то" - это тоже предложено, запоминать заранее уже находившиеся оптимальные раскрои, по типу "Из трёх листов этого и пяти листов того мы получаем шашнацать наборов тумбочек без отходов/с минимумом отходов" - и мы можем просто минусовать исходный материал и плюсовать продукцию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 18:01 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Народ, вы замечаете, что если и не на теорию диплома, то на курсовик мы уже тут настрадали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 18:05 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
iv_an_ruiv_an_ru, Хотите бесплатный продарок --- идею действительно полезной софтины? Пусть камера делает снимок стола с лежащими на нём отходами, определяет их размеры и заносит в базу. Ахахаха! Рассмешили. С чувством юмора у вас ништяк. Мне на мейл.ру посоветовали фотографировать на смартфон листы и клеить на них штрихкоды (их считывать тоже смартфоном) )))) авторАвтор даже для себя не может точно сформулировать задачу Обижаете... автор- Прежде всего меня интересует что подразумевается под фигурой(прямоугольник, треугольник, выпуклый или не выпуклый многоугольник) и оптимальным раскроем (например минимальные отходы или остатки правильной формы или максимальное использование остатков) необходима четкая формулировка без этого вперед двигацо глупо. Пока не очень понятно что такое оптимальный раскрой без четкого определения сложно написать оценочную функцию которая будет решать оптимальный ли раскрой или нет. 1) Фигуры - это прямоугольники. Из этих прямоугольников будут в дальнейшем вырезаться нужные формы, но это уже не наша задача. Наша задача - именно прямоугольные области. 2) Оптимизация - максимальная экономичность. То есть отрезает прямоугольную область от листа не с середины, а с краю, чтобы из этого куска потом еще можно было оттяпать кусок. 3) Кто ищет и режет листы, терминатор или Джон Коннор? Это вопрос кого быстрее заставить :) т. е. что быстрее и легче реализовать. Предполагаю, что легче запрограммировать авто раскрой, пусть примитивный, ну и ладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 18:05 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
AndreTMНарод, вы замечаете, что если и не на теорию диплома, то на курсовик мы уже тут настрадали Конечно замечаем :) А если присовокупить к этому топику еще и вот http://www.sql.ru/forum/actualthread.aspx?tid=1014585 , http://www.sql.ru/forum/actualthread.aspx?tid=1016894 и вот http://www.sql.ru/forum/actualthread.aspx?tid=1016933 , то получается есть над чем поразмыслить. З.Ы. Стоит отметить конкретно именно ваши сообщения, как одни из самых смыслонагруженных и полезных, на мой взгляд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 19:29 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Господа мы уклоняемся и лезем в дебри. Еще раз по автоматизации 1) Ссылка на вики http://en.wikipedia.org/wiki/Cutting_stock_problem 2) Фундаментальные работы математиков. Канторович Л.В., Залгаллер В.А. Рациональный раскрой промышленных материалов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 21:15 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Еще пару книжек для автора. 3) Э. А. Мухачева "Рациональный раскрой промышленных материалов" 4) Ф.В. Бабаев "Оптимальный раскрой материалов с помощью электронно-вычислительных машин". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 21:24 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
AndreTMiv_an_ruНе решается эта задача "пошагово". Во-первых, не факт, что для кроя листа на 3 детали X и 2 детали Y надо отрезать сначала все X а потом все Y или наоборот. Во-вторых, для какого-то набора крой может быть отрисован вручную, и его надо быстро найти. Или даже подсказать, что вот такой набор можно сделать из стольки-то таких кроевПочему отрезАть надо по порядку?Потому что порядок резки на практике важен. Если резать напроход, то обычно все равно (если нет слишком узких деталей). Если не напроход, то пила проходит длину детали плюс ещё чуть-чуть, оставляет засечку. Если вы хотели положить туда деталь, то при этом порядке реза вам придётся чуть-чуть отступить и потом срезать подпорченную засечкой сторону, а это лишние время и отходы. На практике часто надо сначала из листа резами напроход сделать несколько заготовок, а уже их (по возможности опять-таки напроход) порезать на детали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2013, 21:37 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
iv_an_ru, Я, как бы, не только теорию изучал... И такие вещи понимаю. И предложенный мной подход к проектированию раскроя отнюдь не является чем-то новым, всё это уже было. И, кстати, вполне (да что там, - именно) позволительно реализовать то, что вы рассказываете, ведь никто не запрещает в модели предусмотреть "промежуточные заготовки", вот в чём дело-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2013, 01:23 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
AndreTM, Ну а я наоборот даже теории этого самого кроя не изучал, и ничего в той области не писал. Зато у нас среди прочих был и мебельный цех, и я стал продвинуто-матерящимся юзером программ для всей этой беды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2013, 02:10 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
iv_an_ruя стал продвинуто-матерящимся юзером программ для всей этой беды. Это я от сочувствия... Ну не могу удержаться... ... Сам в таких ситуациях бывал. Тут только одно помогает (сугубое ИМХО) - если только сразу взять и переписАть. Я один раз сумел хорошо. И ещё один раз сумел достаточно хорошо. Не мебельное производство, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2013, 03:26 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
mayton, Спасибо за книги! Очень полезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2013, 13:30 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Господа, как считаете, подойдет хранить фигуры в postgreSQL с расширением PostGIS? Есть ли там готовые функции вычитания и проверки вхождения полигонов один в другой? Или может кто знает СУБД с готовым набором функций для работы с типом polygon. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2013, 13:33 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
AndreTM, авторописываемый как {1,2,3,4} Что значит эта запись? Это номера вершин? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2013, 13:38 |
|
||
|
Хранение изменяемой формы фигуры в бд
|
|||
|---|---|---|---|
|
#18+
Всем спасибо. Общими усилиями участников форума, я нашел решение своих задач. Итак: 1) Создал бд с таблицей Shape и полями id, geometry и dateOfChange. Поле geometry обычное текстовое поле. Но в нем я храню запись фигур в wkt формате. Например: Код: sql 1. 2) Дальше я нашел opensource библиотеку NET Topology Suite (портированная для .NET библиотека JTS, Java) для работы с геометрическими формами и геоданными. 3) Немного дописал под свои нужды некоторые функции (конвертация wkt в набор точек Point и обратно и т.д.) И все! Теперь можно производить резку материалов любой формы и легко сохранять изменения в одном поле таблицы. То, что собственно и хотел в рамках топика :) Еще раз всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2013, 15:17 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1341836]: |
0ms |
get settings: |
8ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 449ms |

| 0 / 0 |
