arthur2 писал(а):как вычленить разные фигуры и как вычленить контуры дырок.
«Чё??? » (с)
arthur2 писал(а):как вычленить разные фигуры и как вычленить контуры дырок.
arthur2 писал(а):клава может быть любой самой замысловатой формы
Проблема здесь. Когда дохожу до момента замыкания, я уже не знаю, соединились ли это концы одной фигуры, которая раньше разъединилась, или это две фигуры срослись в одну.Хакер писал(а):На какой-то строке некоторые островки своим концом присоединяются к началу, а своим началом — к концу какого-то другого островка, и этим замыкает островок, превращая его в кольцо.
arthur2 писал(а):можно отслеживать все появления фигур, разветвления и соединения вновь, но получается как-то очень уж путано.
arthur2 писал(а):Проблема здесь. Когда дохожу до момента замыкания, я уже не знаю, соединились ли это концы одной фигуры, которая раньше разъединилась, или это две фигуры срослись в одну.
разветвления
' xxxxxxx
' xooooooox
' xooooxxoooox
' xoooox xoooox
' xoooox xoooox
' xxxx xxxx
Мне не надо два контура - мне надо одну кнопку с дыркой.Хакер писал(а):Кнопка с дыркой — получится два контура.
Я получил набор точек. Каждая точка соединена с одной следующей и одной предыдущей. Чтобы понять, что этот набор точек - два контура, а не один или три, мне нужно от точки к точке ещё раз пройти.Хакер писал(а):Я расшибусь, сгорю, но не пойму, как при обработке картинки с двумя контурами можно получить один общий контур
Точнее, ты меня.
Мне не надо два контура - мне надо одну кнопку с дыркой.
Я получил набор точек. Каждая точка соединена с одной следующей и одной предыдущей. Чтобы понять, что этот набор точек - два контура, а не один или три, мне нужно от точки к точке ещё раз пройти.
Под "общим контуром" я не имел ввиду, что разные кольца друг волшебным образом попересекались.
Просто после прохождения алгоритма у меня готовые контуры есть, но я не знаю, сколько их. Могу посчитать - совсем не сложно.
могу выяснить, какие из колец - внешние контуры, а какие - дырки.
Мне не нужны контуры, мне нужны фигуры, ограниченные этими контурами. Мне не нужно просто масштабировать картинку целиком, мне нужно масштабировать каждую кнопку по-отдельности.Хакер писал(а):Даже если хочется, нужно бить себя по разным частям тела, чтобы небыло желания различать контуры на дырки и не дырки.
Я знаюХакер писал(а):Да какого чёрта? По условию контуры не пересекающиеся.
arthur2 писал(а):Мне не нужны контуры, мне нужны фигуры, ограниченные этими контурами.
В самодельный двусвязный список. Про "посчитать" я не точно выразился - посчитать можно и во время алгоритма. Скажем так - пронумировать.Хакер писал(а):Ты их куда добавляешь? В коллекцию? В массив? И что, проблема вызвать метод Count или псевдо-функцию UBound?
Фигура с дыркой будет определена двумя контурами. А с двумя дырками - тремяМы в самом начале темы определились, что фигура вместе с контуром определяется одним только контуром.
В самодельный двусвязный список.
arthur2 писал(а):Фигура с дыркой будет определена двумя контурами. А с двумя дырками - тремя
Разница принципиальная. Например, мне нужен регион отсечения для конкретной фигуры. Для этого мне нужно построить регион по внешниму контуру и исключить из него внутренний контур.Хакер писал(а):Тебе-то какая разница? Чем является контур. Внешним контуром кнопки или контуром отверстия в кнопке?
У меня есть только один двусхсвязный список - список точек. Списка отдельных контуров у меня нет.
arthur2 писал(а):Разница принципиальная. Например, мне нужен регион отсечения для конкретной фигуры. Для этого мне нужно построить регион по внешниму контуру и исключить из него внутренний контур.
Этой фразы не понял Может, и предыдущее не так понялХакер писал(а):Вертикальные грани никуда не добавляются, потому что каждый добавленный элемент соответствует однопиксельной грани.
Хм, интересно! Про регионы - пока вообще не понял, но до этого ещё нужно дойти - как дойду, так и переспрошуХакер писал(а):А без разницы.
каждый контур представлял собой массив левых и массив правых точек.
А вот когда одна фигура разделяется , и у одного контура в ряду оказывается сразу две левых и две правых точки - получается очень запутано.
arthur2 писал(а):Этой фразы не понял
Ну дык... по часу по ночам после работы (никак не компьютерной, а очень даже физической)Хакер писал(а):И очень долго делаешь, причём
Хакер писал(а):Опять чертовы разделения
Ну а я о чём!? Вот это и есть чертовы разветвления.Хакер писал(а):Например фигуру буквы W так не обработаешь
Опять ничего не понял.Хакер писал(а):CCW-ветка, во время обработки — пары двух массивов (CCWList и CWList), для добавления островков слева и справа. Массивы CCWList и CWList — массивы Long-ов.
Всего два или по два на каждый контур? Что в них заносится - Х?Хакер писал(а):Два массива Long-переменных.
arthur2 писал(а):Ну а я о чём!? Вот это и есть чертовы разветвления.
Опять ничего не понял.
arthur2 писал(а):Всего два или по два на каждый контур?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2