Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выравнивание блоков разных размеров (https://javascript.ru/forum/misc/56929-vyravnivanie-blokov-raznykh-razmerov.html)

MallSerg 10.07.2015 15:48

=)
https://www.google.ru/webhp?sourceid...BA%D0%BE%D0%B2


1. рассортировать блоки по размеру
2. собрать из блоков строки примерно одинаковой длинны с приблизительно одинаковым числом блоков примерно одинаковых размеров.
3. сдвинуть строки блоков на минимальные расстояния.
4. оценить получившийся результат. сравнить с наилучшим результатом.
5. поменять пару блоков местами установить между блоками минимальные расстояния и снова сравнить результат с лучшим.
Если результат хуже предведущего то вернутся к прежнему состоянию и побывать менять уже другие блоки.

Это будет простейший генетический алгоритм.


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

рони 10.07.2015 17:35

blacklool,
http://packery.metafizzy.co/
http://masonry.desandro.com/

AntonMs 10.07.2015 18:13

Цитата:

мне нужно заполнять пустое место блоками разных размеров, не изменяя их размер....
Возможно Я не правильно понял но мы живем в третьем измерении где это не возможно)

kostyanet 10.07.2015 21:13

Ну да, это общее название выразительного средства - masonry - то есть кладка (каменная).


Часовой пояс GMT +3, время: 07:16.