Коллеги, а кто в компьютерно-графических алгоритмах рубит? Я вот портирую на руби библиотечку для обл.тегов, и их код про collision detection не работает, но даже не могу понять почему, потому что там какая-то битовая математика без комментов. Может, где-то есть описание этого алгоритма человеческим языком?
библиотечка (исходная, на JS) тут: https://github.com/jasondavies/d3-cloud ‎- чаще всего просто ёбнутые
основная магия происходит где-то вот в этом районе: 1) создаём маску спрайта, почему-то шириной 1/32 спрайта: https://github.com/jasondavies/d3-cloud/blob/master/d3.layout... 2) помещаем эту маску на «доску» (тоже шириной в 1/32 картинки): https://github.com/jasondavies/d3-cloud/blob/master/d3.layout... и 3) проверяем следующий спрайт на основе доски с уже размещёнными: https://github.com/jasondavies/d3-cloud/blob/master/d3.layout... ‎- чаще всего просто ёбнутые
JS-программисты это пиздц, сто однобуквенных переменных, 0 комментов :( Но может быть кто-то узнает этот алгоритм по битовым операциям?.. Я даже предположить не могу, что таким образом пытаются сделать. Всё остальное я уже разобрал и привёл в порядок, а тут просто не понимаю, откуда начинать копать (и какие значения верные) ‎- чаще всего просто ёбнутые
Пиздец. разобрался. Это был охуительно понятный и эффективный способ хранения массива битов. JS-программисты это пздц. ‎- чаще всего просто ёбнутые
Т.е. человек пишет и аккуратно оформляет и распространяет библиотеку, в которой тысячи однобуквенных переменных, пять функций по нескольку сотен строк, выполняющих по 3-4 несвязанных задачи одновременно, глобальные состояния, вот это всё. малацца. ‎- чаще всего просто ёбнутые