Очевидно, это был тонкий стёб Однако, Стая здесь права: в пределах штампа нет одинаковых деталей, как правило. Они похожи друг на друга, но любые две "квадратные с выступами и впадинами по бокам" детали - разные.inerf писал(а):А я то думал они все квадратные с выступами и впадинами по бокам
Программа для автоматического складывания пазлов
Модератор: teddy1981
Re: Программа для автоматического складывания пазлов
Собрал всего лишь 78000 деталей. Но зато каких!)
- Ved-vampir
- Сообщения: 255
- Зарегистрирован: 28 фев 2011, 17:27
- Деталей: 60729
- Откуда: Москва
Re: Программа для автоматического складывания пазлов
Честно говоря, я, как программист, подошла бы к этой задаче иначе
Каждая деталь, какая бы она ни была, характеризуется своим контуром. Выделение контура - задача вполне решаемая, ибо много раз уже решена. Задаём ограничение: прямой контур - рамка паззла (вот тут могут возникнуть проблемы с деталями типа как у эдуки, где стык близок к прямой). Остальные детали стыкуем перебором: берём линию стыка одной детали, инвертируем её, как это делается в графических программах, и если достигнуто совпадение инвертированной линии со стыком другой детали (конечно, надо оставить небольшую погрешность при сравнении, поскольку полная точность вычислений невозможна), то эти детали стыкуются. Использованные стороны помечаем, чтобы не состыковать их ещё раз. Для оптимизации можно предварительно сравнивать стороны по длине, и если она не совпадает, не производить дальнейшие манипуляции. Единственное, такая программа не сможет собирать паззлы со сдвигом в стыках, но это тоже можно решить дальнейшей доработкой
Если бы у меня было много лишнего времени, может, и занялась бы, чисто из спортивного интереса, но увы
Каждая деталь, какая бы она ни была, характеризуется своим контуром. Выделение контура - задача вполне решаемая, ибо много раз уже решена. Задаём ограничение: прямой контур - рамка паззла (вот тут могут возникнуть проблемы с деталями типа как у эдуки, где стык близок к прямой). Остальные детали стыкуем перебором: берём линию стыка одной детали, инвертируем её, как это делается в графических программах, и если достигнуто совпадение инвертированной линии со стыком другой детали (конечно, надо оставить небольшую погрешность при сравнении, поскольку полная точность вычислений невозможна), то эти детали стыкуются. Использованные стороны помечаем, чтобы не состыковать их ещё раз. Для оптимизации можно предварительно сравнивать стороны по длине, и если она не совпадает, не производить дальнейшие манипуляции. Единственное, такая программа не сможет собирать паззлы со сдвигом в стыках, но это тоже можно решить дальнейшей доработкой
Если бы у меня было много лишнего времени, может, и занялась бы, чисто из спортивного интереса, но увы
Эта история - не для истории, понимаешь?
Re: Программа для автоматического складывания пазлов
Мне кажется, что контур надо сравнивать с эталонным штампом. Тем более, что штампов очень ограниченное количество.
Антон
- Ved-vampir
- Сообщения: 255
- Зарегистрирован: 28 фев 2011, 17:27
- Деталей: 60729
- Откуда: Москва
Re: Программа для автоматического складывания пазлов
Алгоритмически не вижу смысла: ведь по сути тот же самый перебор получится. Можно, конечно, отсортировать детали по штампу и сократить число итераций, но если не опираться на конкретную матрицу производителя, то программа будет универсальна, хоть сам картинку нарежь, эта задача интереснее с точки зрения разработки
А ещё интереснее было бы продумать распределение деталек по форме в виде графа, по которому можно было бы быстро искать детали нужного плана по алгоритму, схожему с хешированием, это могло бы в разы ускорить работу алгоритма. Причём здесь можно было бы учесть большое число критериев, кроме того, можно распределять так конкретные стороны детали, что ещё упростило бы задачу.
А ещё интереснее было бы продумать распределение деталек по форме в виде графа, по которому можно было бы быстро искать детали нужного плана по алгоритму, схожему с хешированием, это могло бы в разы ускорить работу алгоритма. Причём здесь можно было бы учесть большое число критериев, кроме того, можно распределять так конкретные стороны детали, что ещё упростило бы задачу.
Эта история - не для истории, понимаешь?
Re: Программа для автоматического складывания пазлов
Читаю-читаю я вас, и вроде даже все слова по отдельности понятны
Nobody knows it, but you've got a secret smile
and you use it only for me
Таганрог 2012 эдука - личка 5, пары 8
Таганрог 2013 эдука - личка 4, пары 3
Бельгия 2013 1 место
Таганрог 2014 эдука - личка 6, пары 5
Бельгия 2014 2 место
and you use it only for me
Таганрог 2012 эдука - личка 5, пары 8
Таганрог 2013 эдука - личка 4, пары 3
Бельгия 2013 1 место
Таганрог 2014 эдука - личка 6, пары 5
Бельгия 2014 2 место
Re: Программа для автоматического складывания пазлов
Ved-vampir, алгоритм с контурами я такой же планировал сделать.
Дополнительно можно сравнивать цвет на границе (так же с погрешностью). Точность будет еще выше
Дополнительно можно сравнивать цвет на границе (так же с погрешностью). Точность будет еще выше
Re: Программа для автоматического складывания пазлов
Ну, и чем дело кончилось?
Не сложилось, наверно...
Не сложилось, наверно...
Re: Программа для автоматического складывания пазлов
Как вовремя, однако, опять эта тема появилась
Да-да, есть такая программа, с её помощью как раз в Германии сейчас уничтоженные архивы Штази восстанавливают
Да-да, есть такая программа, с её помощью как раз в Германии сейчас уничтоженные архивы Штази восстанавливают
Региональный Верхневолжский чемпионат - 3-е место
Первый Северо-западный региональный чемпионат - 3-е место
Московский региональный чемпионат - 3-е место
Кошки оставляют следы своих лапок в наших сердцах.
Первый Северо-западный региональный чемпионат - 3-е место
Московский региональный чемпионат - 3-е место
Кошки оставляют следы своих лапок в наших сердцах.
Re: Программа для автоматического складывания пазлов
давно по телеку слышал...
вкратце.
осыпалась фреска, пол поделили на зоны (что куда примерно упало), куски пронумеровали и отсканировали, написали прогу и комп им сказал что где было... У меня ещё мысль промелькнула: "Прикольный пазл получился"
вкратце.
осыпалась фреска, пол поделили на зоны (что куда примерно упало), куски пронумеровали и отсканировали, написали прогу и комп им сказал что где было... У меня ещё мысль промелькнула: "Прикольный пазл получился"
хоумпэйдж http://voyager.by" onclick="window.open(this.href);return false;
Вход это отверстие извне вовнутрь, в обратном направлении именуемое выходом.
Вход это отверстие извне вовнутрь, в обратном направлении именуемое выходом.
Re: Программа для автоматического складывания пазлов
нам реставраторы в Русском музее такую программу показывали. На примере склейки расколоченной вазы. Сканируют кусок - он крутится-крутится на мониторе на фоне объемной модельки и вляпывается на место.
уж фокус-не фокус, не знаю, но вряд ли деток разводили.
уж фокус-не фокус, не знаю, но вряд ли деток разводили.
Чтоб не сгинуть от одиночества, чтоб прибавить друзей количество — поубавьте своё…"Высочество", и умерьте своё… "Величество"!