смотрите, первая задача - определение пустых прямоугольников! как их правильно и быстро (желательно) определить? вот те мелкие, получающиеся на пересечении направляющих. визуально вроде бы просто, а вот с алгоритмом пока заминка.
вообщем основной вопрос построения первоначальных прямоугольников. с объединением более менее понятно, а вот какой метод для сканирования выбрать пока думаю. либо взять за базу какую то ось, например х, отсортировать все х1, х2 по возрастанию и потом с каждой точки пробовать идти в стороны, как я и описывал выше..
в этом и суть задачи) привести к целочисленным. не буду вдаваться в детали, но блоки которые не соседствуют (у которых нет связи по цепочки с началом координат (верх, лево) ) не имеют целочисленных координат, суть все процесса это округление прямоугольников, их трансформация и последующие смещения для получения сегментов с целочисленными координатами при любом масштабировании всей системы.
вообщем если кратко то нет) вернее не все координаты целочисленные.
но я вижу решение это проблемы путем проверки координаты на границе. если предыдущий x попадал в видимый прямоугольник а следующий в свободную область, то если прямоугольник слева то, то x1.пустоты = x2.видимого, а если пустота справа то то x2.пустоты = x1.видимого. когда границы нет то идет перебор с шагом 1.
только наверное при таком подходе от полного перебора каждой точки не уйти(
это более близко думал об этом. логика была такая: вначале создаем матрицу всех пустых точек.[x1...xn] и соответствующие им [y1...yn], потом отсортировать по уменьшению к примеру по x, берем наименьшше x из пустых с наименьшим y, т.е. самую высокую, от нее пускаем вправо луч до столкновения, а потом проверяем на эту ширину максимально возможные пустые координаты с шагом в 1 строку -> пока у нас на ширину заполняются нижние координаты по y то значит там можно построить прямоугольник, как только упираемся, то значит стоп, фиксируем прямоугольник и удаляем координаты из пустых и т.д. А потом составить алгоритм по объединению, что уже проще. Хотя такой метод не дает никаких гарантий что это будут прямоугольники оптимальной площади, но в принципе тоже рабочий вариант. Единственное сомнения на счет подхода: перебирать каждую точку для формирования массива пустых точек или можно оптимизировать?
после парсинга порядок загрузки будет начиная с хэдера, там скрипт, а переменная будет ниже инициализироваться, на момент загрузки скрипта она будет undefined или я не прав?
суть вы поняли. это кстати и указано в моем вопросе. У вас есть все таки что то по существу или просто решили терминами поиграть? Конкретно что дает этот скаляр и как его можно использовать?
АртемЪ, а причем тут стороння программа? вы читали что было выше? если вы о том чтобы взять и запустить исполняемый файл, то спасибо конечно)) но в данном случае речь о получении прав и выполнения кода из браузера. то естественно это может быть реализована в вашем примере через дополнение (ну как флеш например)
АртемЪ, ну так и что? а доступ вы как к ним получите даже если там есть какие то бока в коде? вам же надо что то передать из браузера в систему? ладно, проехали вообщем. это больше что то на уровне теории какой то, не особо имеющей под собой реально практические реализации.
ну там немного другая тема. там можно получать данные из одного потока, которые однолвременно открыты в другом, что то такое. тут скорее речь о кражах.
я глубины программирования не знаю, но как то мне кажется что в данном случае вначале должна быть все таки дыра браузера, т.к. мне тяжело представить как по другому вы выполните лежащий в папке скрипт.
ну так первый пункт тогда можно было просто охарактеризовать как "дыры браузера". тут понятно. ну соц инженерия не рассматриваем, т.к. у некоторых и по телефону можно пароль выведать, речь щас не об этом.