[/b/] [/d/] [/tu/] [/a/] [/ph/] [/wa/] [/cg/] [/t/] [/p/]

[Burichan] [Futaba] [Gurochan] [Photon] - [Home] [Manage] [Archive]

[Return]
Posting mode: Reply
Leave these fields empty (spam trap):
Name
Link
Subject
Comment
File
Verification
Password (for post and file deletion)
  • Supported file types are: GIF, JPG, PDF, PNG
  • Maximum file size allowed is 20480 KB.
  • Images greater than 200x200 pixels will be thumbnailed.

File: 1330287478328.png -(18175 B, 400x400) Thumbnail displayed, click image for full size.
18175 No.76680  

Собрал http://vimeo.com/28369397
Возник вопрос оптимизации раскроя бревна.
Есть какие-то программы под GPL или алгоритмы, которые можно было бы без особых выкрутасов реализовать под GPL для оптимизации раскроя круга заданного размера на квадраты заданных размеров?

>> No.76741  
File: 1330351136327.jpg -(439986 B, 800x600) Thumbnail displayed, click image for full size.
439986

>>76680
Разве так сложно написать?

>> No.76767  

>>76680
Никогда не интересовался данным вопросом.

>> No.76779  
File: 1330384110750.png -(3839 B, 133x46) Thumbnail displayed, click image for full size.
3839

>>76741
Я понятия не имею какой алгоритм должен быть у заполнения круга прямоугольниками заданного сечения и где его искать.

>> No.76780  
File: 1330384993595.jpg -(163146 B, 1200x1200) Thumbnail displayed, click image for full size.
163146

>>76779
Старый добрый перебор чем не устраивает? Бревна все равно не всегда бывают идеальной формы.

>> No.76781  
File: 1330386335937.jpg -(131493 B, 604x453) Thumbnail displayed, click image for full size.
131493

>>76780
Неровностями можно пренебречь, потому что пила в любом случае пилит только по прямой.

> перебор

Ну давай распиши алгоритм.

>> No.76782  
File: 1330387957049.jpg -(381733 B, 750x1000) Thumbnail displayed, click image for full size.
381733

>>76781

> Неровностями можно пренебречь

Какой тогда смысл считать оптимальное занчение?

> Ну давай распиши алгоритм.

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

>> No.76783  
File: 1330389287002.jpg -(7547 B, 216x207) Thumbnail displayed, click image for full size.
7547

>>76782

> cмысл

Долго объяснять.

> сетки
> > прямоугольниками
>> No.76784  
File: 1330392080102.png -(15176 B, 600x600) Thumbnail displayed, click image for full size.
15176

>>76783
Если тебе не лень менять шаг пилы для каждого прохода, то подобрать сдвиг только для одной оси, дальше просто перемещаешь маркер по другой оси и в момент заполнения вычитаешь результат из поверхности бревна. Потом при желании делаешь другой проход, но уже с развернутым на 90 градусов прямоугольником. В результате первого прохода получаешь что-то вроде пикрелетеда, на втором меняешь длинну с шириной местами и обрабатываешь то, что получилось после первого.

>> No.76785  
File: 1330396461217.jpg -(46740 B, 400x536) Thumbnail displayed, click image for full size.
46740

>>76784
А для разных размеров прямоугольника и симметрично относительно центра?

>> No.76786  
File: 1330396979331.png -(840620 B, 1200x1469) Thumbnail displayed, click image for full size.
840620

>>76785

> для разных размеров прямоугольника

В одном бревне?

> симметрично относительно центра?

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

>> No.76787  
File: 1330397249019.jpg -(8241 B, 300x300) Thumbnail displayed, click image for full size.
8241

>>76786

> В одном бревне?

Да.

> Но зачем?

В пиломатериале должно быть определённое направление волокон.

>> No.76788  
File: 1330397397516.gif -(12119 B, 393x434) Thumbnail displayed, click image for full size.
12119

>>76786

> выравнивать ряды блоков по центру

Как промежуточный вариант подходит, но если требуемый пиломатериал не одинаковый?

>> No.76789  
File: 1330397945370.jpg -(1092660 B, 1600x1400) Thumbnail displayed, click image for full size.
1092660

>>76787

> Да.

Добавь к перебору еще и тип доски, правда при большом их количестве ресурсов у тебя уйдет немеряно.

> определённое направление волокон

И каким образом на него повлияет симметричность расположения досок?
>>76788

> если требуемый пиломатериал не одинаковый

Алгоритм применим к фигуре произвольной формы.

>> No.76794  
File: 1330423401325.gif -(4625 B, 325x309) Thumbnail displayed, click image for full size.
4625

>>76789

> Добавь к перебору еще и тип доски

Каким образом?

> правда при большом их количестве ресурсов у тебя уйдет немеряно

Боллмеру это расскажешь.

> И каким образом на него повлияет симметричность расположения досок?

На картинке разве не видно?

> Алгоритм применим к фигуре произвольной формы.

Но не к разным формам в рамках одного полена, расположенным симметрично относительно центра.

>> No.76796  
File: 1330429660992.jpg -(639447 B, 1600x1280) Thumbnail displayed, click image for full size.
639447

>>76794

> Каким образом?

Меняя размеры.

> На картинке разве не видно?

Все волокна идут вдоль досок, вне зависимости от того, где они расположены. На картинке тоже.

> Но не к разным формам в рамках одного полена, расположенным симметрично относительно центра.

Забей на симметрию.

>> No.76798  

>>76796

> Меняя размеры

Не понял в каком месте алгоритма надо менять тип доски?

> Все волокна идут вдоль досок

В продольной или поперечной плоскости относительно плоскости доски.

> Забей на симметрию

Тогда вместо досок половина пиломатериала будут дровами.

>> No.76799  
File: 1330432531815.png -(1316595 B, 1000x1000) Thumbnail displayed, click image for full size.
1316595

>>76798

> Не понял в каком месте алгоритма надо менять тип доски?

Просто сделай все проходы для всех возможных комбинаций типов досок.

> Тогда вместо досок половина пиломатериала будут дровами.

Если для тебя это настолько критично, начинай отсчет от середины в обе стороны, добавив на нулевом шаге вариант "полдоски". Получится что-то вроде того, что на твоей картинке.

>> No.76800  
File: 1330433112645.jpg -(48932 B, 640x744) Thumbnail displayed, click image for full size.
48932

>>76799

> Просто сделай все проходы для всех возможных комбинаций типов досок.

А как составлять комбинации?

> Если для тебя это настолько критично

Ну это вообще как бы критично при лесопилении. Не я это придумал.

> начинай отсчет от середины в обе стороны, добавив на нулевом шаге вариант "полдоски"

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

Картинка кстати не моя. Это с сайта каких-то пропиетарщиков для примера, чтобы не копипастить всякие tldr сюда.

>> No.76801  
File: 1330434156542.jpg -(173219 B, 1000x883) Thumbnail displayed, click image for full size.
173219

>>76800

> А как составлять комбинации?

Допустим у тебя есть два типа досок A и B, пытаешься заполнить ими бревно в таком порядке:
AAAA
AAAB
AABA
AABB
...
BBBB

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

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



Delete Post []
Password

[/b/] [/d/] [/tu/] [/a/] [/ph/] [/wa/] [/cg/] [/t/] [/p/]