🤯Вызов принят! Робот для плетения картин из гвоздей и ниток. Часть 1

Поділитися
Вставка
  • Опубліковано 26 лис 2024

КОМЕНТАРІ • 1,4 тис.

  • @romanfaktorovich1852
    @romanfaktorovich1852 Рік тому +1117

    Я думаю, у меня есть неплохой фикс для твоего алгоритма. Чтобы светлые части изображения не затемнялись нитками так сильно, я бы попробовал не просто вычитать цвет из исходного изображения вплоть до нуля (если считать белый нулем), а уходить в минус (хранить "отрицательный" цвет можно например в отдельном канале или во вспомогательном изображении). Дело в том, что в твоем алгоритме учитывается оставшийся темный цвет на рисунке но не учитывается сколько же черного мы уже добавили в светлые области. То есть при вычислении суммы черных пикселей на рисунке нужно корректировать значение с учетом уже нарисованных там линий. Получится что значение для линия проходящей через точки где уже "есть" нитки будет меньше. И чем больше таких точек тем меньше вероятность что алгоритм выберет эту линию в качестве следующий. С таким подходом я уверен не нужны будут костыли с запретными зонами и количеством нитий на гвоздь.

    • @NoobsMakingPlanes
      @NoobsMakingPlanes Рік тому +15

      согласен

    • @Vozhd_Hitromordyh
      @Vozhd_Hitromordyh Рік тому +78

      Ну что-то в этом есть.... (😏Зовите санитаров)

    • @romanfaktorovich1852
      @romanfaktorovich1852 Рік тому +70

      Еще проще - можно не рисовать белую линию на исходном изображении, а сумму черного для линии считать как сумма черного на исходном минус сумма черного на текущем полученном.

    • @buqsquirrel8907
      @buqsquirrel8907 Рік тому +31

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

    • @bidjo666
      @bidjo666 Рік тому

      Если не пропускать нитку по белому вообще это сократит количество гвоздей и получится ерунда для самого белого цвета нужно ограничить количество пропусков нитки через эту область до 1.

  • @НиколайСорокин-к2л

    А заметили какие Алекс красивые руки роботу, который нитки плёл, сделал!? Даже ногти ему накрасил. Видно робот любит Алекса, потому как, только у любящего робота хватит терпения столько ниток заплести. Лайк!

    • @Zalupaktor
      @Zalupaktor Рік тому

      Алекс вообще молодец. Он роботу и сиськи приделал, на 20:06 видно :) Если серьезно, то крутой проект. Можно ещё в приложение диктовку голосом добавить. Чтобы оно голосом проговаривало какие гвозди соединять.

    • @alfredhitchcock4878
      @alfredhitchcock4878 Рік тому +24

      Еще и в 2 часа ночи)

    • @nightway4770
      @nightway4770 Рік тому

      Какая то толстая женщина плела ...

    • @Jesus_s_Real
      @Jesus_s_Real Рік тому

      Секс робот

    • @redDomovoy
      @redDomovoy Рік тому +29

      ещё и из сантеха такое замутить! Ну, мастер!

  • @user-ec9ml7gh9l
    @user-ec9ml7gh9l Рік тому +203

    Природа настолько очистилась, что Алекс начал выпускать по 2 видео в неделю!

    • @bgruu
      @bgruu Рік тому +14

      Это робот бармен помогает

    • @staratelrusregion4652
      @staratelrusregion4652 Рік тому +1

      Это чаталекс все за него делает

  • @VybGrib
    @VybGrib Рік тому +16

    В очередной раз мне не слишком интересны такие "картины", и вообще поделки. Но совершенно балдею от процесса рассуждения и достижения результата методом проб и ошибок в совершенно необычных областях! За это уважаю и ценю! Спасибо Алекс!

    • @bzikarius
      @bzikarius Рік тому +1

      Плюсую. Гораздо интереснее разработка робота, «красящего стенку», чем покрашенная стенка.

  • @mattewalls2877
    @mattewalls2877 Рік тому +101

    Спасибо тебе Саня! Те знания которые ты даёшь, никогда, никто не даст ни в одном учебном заведении, так, как это преподносишь ты. Учиться становится действительно интересно.

    • @undetectby
      @undetectby Рік тому +5

      Чему тебя тут научили? Тебе дали всё готовое, а ты создаешь иллюзию что это ты сам до этого допер. Если тебе нравится учиться, значит ты где-то ошибаешься, человеческий мозг очень ленив и все попытки вбивания информации всячески пытается избегать. Соответственно он не может приносить удовольствия. Другой момент, если тебе это реально интересно и ты получаешь ответы на свои вопросы и потребности, которые будут исчерпаны на поверхностном уровне. В любом случае, извини что вмешался и успехов в обучении.

    • @r35p3ct00
      @r35p3ct00 Рік тому +1

      лол, типичный неуч, косинусы и алгоритмы тут основа, а их учат в уч. заведениях, а не на ютубе. Ну, по крайней мере у нас, в России.

    • @Bagasl
      @Bagasl Рік тому +2

      @@undetectby вот так вот взял и разрушил его мирок

  • @Eugenij7
    @Eugenij7 Рік тому +51

    У вас изначально неправильная концепция: картина закрашивается не нитями, а их пересечениями! нужен рекурсивный алгоритм для поиска всех пересечений следующего шага, а не пикселей! человеческий глаз устроен так, что пересечение двух нитей для него намного значимее чем вся нить! кроме того очень важен угол пересечения, чем он больше тем менее значим!

  • @SeregaCNC
    @SeregaCNC Рік тому +62

    ШЕДЕВР получается тогда, когда человеку нравиться то, чем он занимается.
    Молодец Алекс!

    • @mudofel
      @mudofel Рік тому +2

      "Нравится" пишется без мягкого знака ☝️

    • @SeregaCNC
      @SeregaCNC Рік тому +2

      @@mudofel согласен. Но для человека, который знает три языка, причем русский не родной, думаю это не так важно...

    • @кирхан-ы6у
      @кирхан-ы6у 13 днів тому

      ​@@mudofel🤓🤓🤓

  • @taraflex
    @taraflex Рік тому +33

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

    • @nightmouse1793
      @nightmouse1793 Рік тому

      Ну будет у тебя на 100 метров 30 см погрешности. Тебе не ракету из этих ниток строить.

  • @kruzak9398
    @kruzak9398 Рік тому +121

    Ого 2 видео за неделю, так неожиданно и приятно😊

  • @Stepan.K
    @Stepan.K Рік тому +29

    Мысль для улучшения:
    Может нужно позволить нитке идти иногда не через картину, а по внешнему кругу. Тогда получится как бы скипнуть некоторые места и наоборот дозакрасить более светлые.
    Не знаю по каким параметрам разрешать программе это делать, но я думаю можно определить методом тыка

    • @ivanromanchenko459
      @ivanromanchenko459 Рік тому +1

      Не, плохой вариант

    • @Stepan.K
      @Stepan.K Рік тому +1

      @@ivanromanchenko459 лол. Ну ладно. Раз ты сказала, значит не надо.
      Может все же объяснишь?

    • @ДенисОлейник-э6е
      @ДенисОлейник-э6е Рік тому

      @@Stepan.K Могут появиться чрезмерно толстые края у рисунка. В одном месте будет жирный край, а в другом - нет.

    • @Stepan.K
      @Stepan.K Рік тому +1

      @@ДенисОлейник-э6е, может ограничить это каким-то параметром или взять нитку потоньше

    • @vladimir_makienko
      @vladimir_makienko Рік тому +2

      Да, сделать как-то, чтобы ценность изображения возрастала по приближению к центру картины и если области по краям будут чуть темнее, чем нужно, то это нестрашно

  • @semyonmityaev
    @semyonmityaev Рік тому +53

    Гениальный Гайвер, как приятно видеть видосы так часто. Вдохновляешь на свершения! Сам торчу в самоделках и программировании, включая Пайтон.
    ЗЫ: ОООЧень жду твой обещанный румтур!

    • @Сосискыч
      @Сосискыч Рік тому +1

      Бабушки старше 72 лет на лавочке

  • @mikespbandroid
    @mikespbandroid Рік тому +27

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

  • @DavayDalshe
    @DavayDalshe Рік тому +92

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

    • @Nordicx86
      @Nordicx86 Рік тому +3

      там вопрос уровня белого и снижения числа градация серого в исходном изображении.
      еще есть вероятность что надо определять условную глубину изображения по полутонам и раскладывать картинку на слои и вот уже по каждому отдельному слою строить сетку.....

    • @romanfaktorovich1852
      @romanfaktorovich1852 Рік тому +1

      Именно так. Можно например не рисовать белую линию на исходном изображении, а сумму черного на линии считать как сумма черного на исходном минус сумма черного на текущем полученном. Тогда будут учитываться уже полученные нити на светлых областях. А сейчас эта информация совсем теряется.

    • @archsapostle1stapostleofth738
      @archsapostle1stapostleofth738 Рік тому +2

      Класс, а теперь иди и сделай пулл реквест или хотя ишью, в котором подробно и понятным хоть немного техническим языком опиши, что конкретно ты имел ввиду

    • @crossstation9359
      @crossstation9359 Рік тому

      лол,все в видосе

  • @wertwertu8933
    @wertwertu8933 Рік тому

    Самый лучший канал на ЮТУБЕ ! РЕСПЕКТ! Гений, а не человек! Очень рад, что наткнулся на твой канал 3 года назад!))
    Спасибо!!! Обязательно повторю !

  • @MaximRyzhenkov
    @MaximRyzhenkov Рік тому +9

    Видео огонь! Сразу захотелось открыть пайчарм. Есть идея, что нужно при выборе траектории нити учитывать не количество перекрываемого черного, а процент черного цвета в отношении к общей длине линии. То есть короткая линия может содержать в сумме меньше черного, чем более длинная линия. Но правильнее будет выбрать ту, которая "чернее" безотносительно длины в пикселях.

  • @DADLEZ777
    @DADLEZ777 Рік тому +2

    Только вчера задумался как сделать такую картину самому, а тот вот ответ сразу. Красавчик.

  • @ymikotus
    @ymikotus Рік тому +43

    Два замечания к использованному подходу в алгоритме:
    1. Для функции оптимизации прокладывания нити стоит учитывать не только вклад нити в чёрный цвет, но и сколько белых точек она затемняет - т.е. функция должна учитывать не только вклад в результат, но и порчу тоже
    2. Стоит вначале нарисовать все линии от каждого гвоздя, а потом уже пройтись по кругу и выбрать последовательность обхода гвоздей (обычная задача комивояжёра по графу), чтобы сделать это одной нитью

    • @andreyyuriychuk7325
      @andreyyuriychuk7325 Рік тому +5

      С первым пунктом полностью согласен. Для каждой нити надо вычислять её ошибку как корень суммы квадратов расхождения для каждого пикселя деленный на количество пикселей.

    • @Samiron
      @Samiron Рік тому +1

      Хаха, обычная задача коммивояжера, обычная np полная задача, на графе в 100+ вершин, куда уж проще то :)

    • @neonbrickchannel2136
      @neonbrickchannel2136 Рік тому

      @@Samiron вот тоже об этом подумал)

    • @dmitryvodolazsky
      @dmitryvodolazsky Рік тому

      @@Samiron Дык не нужно оптимальное решение; достаточно "более-менее близкого к оптимальному" (или "не слишком уж неоптимального") -- тут уже не NP, а полиномиальная сложность (а при некоторых приёмчиках упрощения - и с невысокими показателями степеней).

    • @Samiron
      @Samiron Рік тому

      @@dmitryvodolazsky по этим "эвристикам" некоторые кандидатские защищают, вам не кажется что это не совсем то что можно назвать "обычная задача коммивояжера"?

  • @Sergkey42
    @Sergkey42 Рік тому

    Спасибо за то, что делишься знаниями. Это дорогого стоит в нынешнее время, испорченное капитализмом.

  • @an7and1
    @an7and1 8 місяців тому +6

    Спасибо за видео! Можно узнать когда планируется 2я часть?)

  • @ЕлизаветаПолякова-х6я
    @ЕлизаветаПолякова-х6я 10 місяців тому

    Вот он чудесный мир программирования! В умелых руках всё в чудо превращается! 👏

  • @buzzbusted
    @buzzbusted Рік тому +6

    Ура мой любимый канал выпускает сразу два видео за неделю, спасибо

  • @RomanSamol
    @RomanSamol Рік тому +2

    Если человек талант, то он талант во всём!!! Молодец, кайфую от твоих видео)))

  • @vyacheslav633
    @vyacheslav633 Рік тому +5

    Кайф! Ждём с нетерпением допиливания) я загорелся пойду шкаф ломать, доску жалко покупать) а гвозди заменю на саморезы😂

  • @Zeratyl911
    @Zeratyl911 Рік тому +1

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

  • @dobriychel7584
    @dobriychel7584 Рік тому +8

    это обалденно. ждём вторую часть

  • @romanv1778
    @romanv1778 Рік тому

    Большой уважение тебе. Очень давно смотрю и прям получаю удовольствие 👍👍👍
    Занимался программированием давно. Так же рассуждал и анализировал.
    Потом судьба не сложилась.

  • @ПавелМиланов-и9ь

    Супер. Видос огонь!)
    Дополнительный лайк за майку)

  • @I_Lomaster_I
    @I_Lomaster_I Рік тому

    Честно, ну ты умище, Алекс. Просто гений. В одиночку такие проекты делаешь, что и группам людей не под силу. Восхищаюсь твоими навыками.

  • @agnius3273
    @agnius3273 Рік тому +4

    18:35 ты уже сделал робота? Красава!

  • @KuzbassGhost
    @KuzbassGhost Рік тому

    Зачот!
    Молодец. Надо возвращать молодому поколению ум и очумелые ручки!

  • @szapsis
    @szapsis Рік тому +8

    Спасибо большое за твой труд друг!

  • @АлександрМахиня-ж7с

    Вот это подход! Наверное это один из лучших проектов после Гайверночника и пневматической пушки!

  • @Yari117
    @Yari117 Рік тому +11

    Алекс, классная реализация! Мне кажется, ограничение угла и т.п. - это все "костыли", правильный алгоритм должен сразу работать правильно. Посмотрите на фото от RingString, там весь фон равномерно серый. Раз прохождения нитей через белые области не избежать, то надо постепенно "сдвигать" белый цвет в серую область. Т.е. раз в одном месте нити прошли через белую область и сделали ее серой, то и все остальные белые области должны стать такими же серыми. Таким образом удастся сделать равномерно серый фон. И это как раз заставит алгоритм равномернее распределять нити.

  • @win12k
    @win12k Рік тому

    Как всегда, супер проект!!!
    Оч вдохновляет!
    Кажется, что если использовать не гвозди ~ 1-2 мм толщиной, а булавки толщиной 0,.. мм ,
    то результат будет ближе к тому, что рисует программа!

  • @MRvladfff
    @MRvladfff Рік тому +28

    Еще одно возможное улучшение - добавить в алгос трассировки возможность просчитывать изменение цвета на несколько шагов вперед и выбирать тот, в котором будет больше заполнение черного. Это позволит более четко обводить кривые линии, к примеру

  • @Pump52
    @Pump52 Рік тому

    Ох! Прям до мурашек! 😊 В прошлом году, ещё до выхода RingString, сделал в подарок портрет из нитей. Конечно код я не писал, но сколько интернетов и генераторов я перепробовал… Потом несколько недель работы, и самым сложным было сделать холст. Кстати, такой способ распечатки карты холста постером в Acrobat Reader тоже думал, но по каким-то причинам не подошло (уже не помню). Холст был радиусом 50см на рамке 76*76см. Подготовка и ручная разметка точек для гвоздиков, подбор этих самих гвоздиков, выбор материала и обработки деревянного холста и прочего. Особое счастье словил когда купил готовальню, о которой мог только мечтать в школьные годы, а потом такой кайф работы с циркулем и карандашом… Мне кажется я получил больше удовольствия от изготовления, работая руками, чем получатель подарка от дарения 😅 В результате получился портрет прекрасной девушки, картина с каркасом и рамкой, с дополнительным кожухом для транспортировки и портрет даже виден в темноте.
    Теперь после просмотра зачесалось повторить… Наконец понятный, бесплатный и понятный генератор картин! Возможно попробую заснять и поделюсь процессом с фидбеком на работу генератора. :)

  • @ДмитрийДмитриев-ш3и

    Радуешь второй день подряд))

  • @СТОЛИЦА-х2я
    @СТОЛИЦА-х2я Рік тому +1

    Как-то пытался сделать цветной вариант. С наскоку не осилил, забросил. Из интересного - вместо закрашивания белым или черным исходного изображения я сравнивал карту промежуточного результата с исходным. Тогда учитывается не просто наиболее требующее нитку направление, но и влияние на светлые области. Засорение светлых областей уменьшается.
    Для более качественного расчета сначала пытался работать с множеством полутонов и даже учитывал какую часть пиксела закрашивает нить. Но признал это неопрадванным усложнением. У меня лучше был результат с небольшим количеством полутонов.
    Так же пытался просчитывать несколько шагов вперед для выбора оптимального направления нити. Не довел до вывода.
    Еще заметил, что у РингСтринг поле разбито на 4 сектора. И работа производится по секторам. Видимо переход к следующему сектору происходит при достижении некоторого уровня заполнения. Это ускоряет обработку и делает удобнее натяжку нити, но положительного влияния на качество не заметил. Возможно не вник.

  • @giorgigiorgadze8613
    @giorgigiorgadze8613 9 місяців тому +6

    Жду вторую часть - год первый

  • @БабекАбдуллаев

    Блин, бро. Ты сумасшедший изобретатель в моих глазах (мультикам 2000-х спасибо) мы с сыном смотрим твои видео с огромным интересом. Очень крутой канал👍

  • @farrakhich10
    @farrakhich10 Рік тому +8

    Такой кайф знать питон и другие языки программирования

  • @brainefir
    @brainefir Рік тому +1

    Друже, есть чудная идея как раз для тебя! Про робота и chatgpt.
    Как на счёт принять такой вызов: сделать робота, который будет ездить за тобой по квартире, слушать твои вопросы, передавать их - chatgpt и отвечать его ответ, через какой-нибудь онлайн голосовой синтезатор ??
    Залайкайте, плес, чтоб Алекс увидел и попробовал сделать это)

  • @Apchi112358
    @Apchi112358 6 місяців тому +3

    Ждем 2ую часть)

  • @ИгорьСереда-в2й
    @ИгорьСереда-в2й Рік тому +2

    Минимальное расстояние вычисляется по формуле:
    sin((360/S)/2)*2sr
    S - сумма точек
    s - минимальное расстояние от точки до точки по дуге, исчисляемое в расстоянии от n-ой до (n+1)-ой точки
    r - радиус окружности
    s можно вычислить следующим образом:
    1) в кругу с чётным количеством точек:
    s = |номер точки 1 - номер точки 2|
    s(max)=S/2
    If s>s(max)
    s = S - s
    2) в кругу с нечётным количеством точек:
    s = |номер точки 1 - номер точки 2|
    s(max)=(S-1)/2
    If s>s(max)
    s = S - s

  • @AlmazWorks
    @AlmazWorks Рік тому +5

    Интересный проект!
    Возможно, стоит рассмотреть возможность использования белой нитки.

    • @Физик-г4о
      @Физик-г4о Рік тому +2

      Так и до цветных ниток дойти можно 🤗

  • @otsy7947
    @otsy7947 Рік тому +1

    Делаю жене в подарок такую картину, а тут Гайвер!
    Нашел программы, которые высчитывают последовательность нитей, осталось только сделать "холст" из фанеры и гвоздей. Спасибо 👍

    • @ЖорикВартанов-б2ю
      @ЖорикВартанов-б2ю Рік тому

      Подскажите, программы нормально отрисовываюь? А то не попадалось пока нормальных

    • @otsy7947
      @otsy7947 Рік тому

      @@ЖорикВартанов-б2ю как будет в реале ещё пока не проверил, но в программе нормально, если поиграть с настройками

    • @ЖорикВартанов-б2ю
      @ЖорикВартанов-б2ю Рік тому

      @@otsy7947 подскажите,что за прога?

    • @otsy7947
      @otsy7947 Рік тому +1

      @@ЖорикВартанов-б2ю сегодня не дома, так не помню, завтра вечером скину

    • @otsy7947
      @otsy7947 Рік тому

      @@ЖорикВартанов-б2ю ссылки не проходят

  • @DimPerch
    @DimPerch Рік тому +3

    Думаю можно добавить в алгоритм разрешение на разрыв нити, то есть можно идти по окружности до нового гвоздя и начинать движение уже с него

  • @charcequence
    @charcequence Рік тому

    Обалдеть, какая титаническая работа проделана! Восхищаюсь твоему упорству и тяге к познанию. И разобрался и запрограммировал и алгоритмы сам придумал... 👍

  • @zloebuka
    @zloebuka Рік тому +7

    Ты красава 💪🤝
    Пора внедрять твои уроки в школьный курс , это не только интересно и познавательно,но и мозг заставляет развиваться .

  • @antonink1444
    @antonink1444 Рік тому +1

    Ребятки! Очень лютый "Вызов принят" получается. И в таком формате Gyver теперь не в одного затащит тему. Как-же это сильно сплотит его-нашу аудиторию...
    Только представить достаточно факт, как проект переплюнет всех в этой теме, являясь таким близким и народным!)

  • @SpeleoFakel
    @SpeleoFakel Рік тому +4

    Супер! Спасибо! Интересно!

  • @IzoFoxUA
    @IzoFoxUA Рік тому +2

    Блин, думал буквально месяц назад про то, чтобы автоматизировать этот процесс и тут вижу "Час назад" вышел ролик от Алекса Гайвера. Интересно, посмотрим.

  • @ИванЕфременко-ь7и

    Очень ждал этого робота!

  • @PAS-WORLD
    @PAS-WORLD Рік тому

    Ну просто очень круто!) Alex, ты лучший! У меня зрение очень плохое, рингстринг еле сплел, а сделать шаблон самому и мечтать нечего, но я знал, что гайвер сможет и окунет нас в процесс с головой!) удачи тебе во всем!

  • @asern8351
    @asern8351 Рік тому +4

    Ура! Давно ждал когда сделаешь это. Надеюсь смогу сделать картину ракеты)

  • @AxolotlIsMyTotem
    @AxolotlIsMyTotem Рік тому +2

    Я так думаю- надо сразу вводить ограничение на нити.
    Пиксели разделить по яркости.
    240 всего.
    Шаг 24.
    Всего 10 шагов.
    Каждый шаг- одна проходящая нитка.
    При яркости 240- 0 нитей проходящих через пиксель.
    При яркости 0- 10.
    При яркости 120- 5.
    И тд.
    Не всегда получится идеально, поэтому разрешить погрешность в 2 нити.
    Если по другому никак, то можно провести или пропустить нить или две через пиксель.

  • @ArduBlock
    @ArduBlock Рік тому +7

    Отличный проект! Будет круто если бы станок смог бы создавать такие картины!

  • @ЯрославМироненко-р2ш

    Делал давненько фото на текстолите по офсетной печати и там для увеличения качества нужно было подбирать палитру цветов/размер виртуального пикселя по которому считалась яркость. Думаю тут что-то похожее можно использовать
    Из общих мыслей:
    1) Учитывать не только количество черных пикселей, но и количество белых. Либо в виде порога, либо в вычитая из черных и подбирая максимальный вариант
    2) Можно попробовать брать не "прямые" линии между гвоздями, а средний цвет линии определенной ширины
    3) Размывать изображение до прогонки линиями
    4) Построение не одного варианта, а нескольких(десятков-сотен) с разными начальными положениями и выбором оптимального по близости среднего цвета областей к исходному
    5) В случае равенства/превышения порога из п.1. разрешить перемещаться до другой точки по кругу
    Возможный ответ на вопрос о поиске мин расстояния - использовать полярный угол. Чем меньше, тем меньше декартово расстояние между точками

  • @andrew_2022
    @andrew_2022 Рік тому +4

    Было бы здорово учитывать ещё и толщину гвоздей и с какой стороны гвоздя заводить/выводить нитку, поскольку гвоздь не точка и при плетении систематическая погрешность😅

  • @LeonedFiasko
    @LeonedFiasko Рік тому +1

    11:20 алгоритм кратчайшего пути для N точек на окружности:
    1-Вычесть из большего меньшее (записать в d)
    2-Если число больше N/2, то мин расстояние = N - d
    3-Иначе мин расстояние = d

  • @BRATISLAVUA
    @BRATISLAVUA 8 місяців тому +5

    Когда будет Вторая часть??

  • @kalabahaa
    @kalabahaa Рік тому

    Блииин. А я на 8 марта рингстринг жене подарил. И все это время думал как сделать станок для плетения на ардуинке . А тут как-раз видео в тему!

  • @gnom
    @gnom Рік тому +3

    Эка куда вас, коллега, занесло! Но все инженеры веселятся как хотят)

  • @OlegPogodaev
    @OlegPogodaev Рік тому +1

    На заметку! У рингстринга используются очень качественные никелированные гвозди с очень гладкой шляпкой, от которых нитка не рвётся и нитка нейлоновая, которую чтобы порвать нужно очень постараться.

  • @robertfitts4609
    @robertfitts4609 Рік тому +4

    Ну вот, а то уже нет сил на паяльники 3 год смотреть..)

  • @B_I_G_Floppa
    @B_I_G_Floppa Рік тому +1

    11:29 - если я правильно понял вопрос, то, например-
    s0 = 2пr/n // s0 - расстояние между двумя соседними, n - кол-во точек
    х1, х2 - нумерация точек
    If (|x2-x1| > = n/2) then (
    S= s0*(n+x1-x2)) else (
    S=s0*(x2-x1))

  • @ДмитрийКоврегин
    @ДмитрийКоврегин 9 місяців тому +3

    когда же выйдет вторая часть, уже с улучшенным алгоритмом

  • @ExoRcisT.
    @ExoRcisT. Рік тому

    Как всегда посмотрел и подумал, не ужели во всём этом реально можно разбираться) спасибо за позновательные видео!

  • @SPORTCHEER
    @SPORTCHEER 9 місяців тому +3

    а часть 2 вышла?

  • @1988xkp
    @1988xkp Рік тому

    Заспойлерил робоплëта с красивыми руками. Теперь с нетерпентем жду следующую серию, что бы увидить робоплëта во всей красе 😊

  • @MrQwerty84000
    @MrQwerty84000 Рік тому +3

    Почему бы не применить к изначальному изображению фильтр выделения границ? Например, использовать оператор Собеля

  • @__-ge2qh
    @__-ge2qh Рік тому +1

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

  • @ATtiny13a-PU
    @ATtiny13a-PU Рік тому +8

    В алгоритме не хватает рандома, желательно синего шума. А ещё для эстетичности расчётов думаю надо чтобы чёрная нить на белых пикселях отнимала очки оценки полезности, а не просто не давала их. Так мы проанализируем самые бесполезные линии.

  • @asdkjh4370
    @asdkjh4370 Рік тому

    Good job Russia. Best regards from Poland.

  • @СолидиКомпаия
    @СолидиКомпаия Рік тому +6

    Алекс, думаю, ты и сам об этом думаешь, но как доведёшь свои чёрно-белые ниточные картины до идеала, можно попробовать в цвете!
    Такого я ещё нигде не слышал.

  • @li0n192
    @li0n192 Рік тому

    Супер! Я сам некоторое время думал как же реализовать такой алгоритм, но до такой простой идеи не додумался.
    Мысль про улучшение: сейчас алгоритм выбирает путь который покроет максимальное количество чётных пикселей, но никак не учитывает белые пиксели которые он покроет зря. Если для белых пикселей ввести штраф (вычитать из суммы черных количество белых) то возможно алгоритм перестанет так сильно закрашивать белые области

  • @olmahsonrash1314
    @olmahsonrash1314 Рік тому +3

    Алекс, Спасибо очень крутой проект) ждем модернизацию.... я добрался до паяльника и пробую сделать кое что из ваших проектов, так что желаю вам и дальнейших творческих успехов)

  • @ATtiny13a-PU
    @ATtiny13a-PU Рік тому +1

    11:17 - решения два, одно из просты, сравнить модуль дельты позиций точек с прямой и реверснутой сетками. В нашей ситуации код на C++
    int min_ring_length(int delta, int size) {
    return min(size - abs(delta), abs(delta));
    } // min_ring_length(2 - 14, 16) == 4, всё верно работает, пока значение delta не меньше -size и не больше size

  • @weyzem
    @weyzem Рік тому +3

    Мне или показалось, или ты охренел... Где вторая часть?

  • @endless_way
    @endless_way 6 місяців тому +3

    Где прода? Год прошёл!!!!!

  • @Kunuw
    @Kunuw Рік тому

    Вот он следующий проект (после эмбилайта), который я повторю!
    Эмбилайт повторял кстати 3 раза и еще повторять буду))) спасибо огромное!

  • @ViSkinVlad
    @ViSkinVlad Рік тому +1

    Очень сильно ждём вторую часть
    Кто согласен , лайк

  • @pavlovigor3143
    @pavlovigor3143 Рік тому

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

  • @yonsson
    @yonsson Рік тому

    Круто очень! И ещё благодарю за идеи, что можно с этим всем делать. Если не заленюсь, буду пробовать. Реклама готовых наборов такой творческий порыв не вызывала...

  • @gengroup9
    @gengroup9 Рік тому

    Какая интересная жизнь у Пельменя!.. Постоянно что-то ездит, шуршит, жужжит, мигает, печатается, а главное и кормушку сделали (которую можно взломать))))

  • @рт-казань
    @рт-казань Рік тому

    Алекс идея просто трэш! У большинства не хватит ни терпения ни усидчивости это понять и собрать! Может лучше станочек по выжиганию на этих досках? Вроде там ардуинка, драйверы, пара моторчиков, жало для выжигания и какое то втягивающее или поворотное реле...

  • @Vladbestbest
    @Vladbestbest Рік тому

    Ну ты просто человечище)) большой респект за работу)

  • @Sashka96963
    @Sashka96963 Рік тому

    Я так понимаю, это первый проект, который не смог поддаться сразу. Давай АлексГайвер, мы в тебя верим!

  • @antonkaster
    @antonkaster Рік тому

    11:20 Предлагаю вариант алгоритма поиска расстояния между точками:
    N - количество точек
    n1, n2 - номера точек между которыми ищем расстояние, нумерация с 0
    x1 = min( n1, n2 )
    x2 = max( n1, n2 )
    distance = min( x2 - x1 , x1 + N - x2 )

  • @komkos
    @komkos Рік тому

    В этом видео прекрасно всё, много полезной информации, девушка (хоть и частично), котик.

  • @aleks-mar
    @aleks-mar Рік тому

    Хоть это все слишком сложно, но безумно интересно наблюдать за творческим человеком!

  • @carisma2s914
    @carisma2s914 Рік тому +1

    Как вариант это слоеный пирог, раскладываешь картинку на слои по градации цвета и вот потом для каждого слоя делаешь алгоритм с учетом наименьшего пересечения ниткой предыдущего слоя (слоев). И что не мало важно нитка в одном слое не должна пересекать нитку этого слоя

  • @Ajai-md9pq
    @Ajai-md9pq Рік тому

    Автор, за вами не успеть, вы ии-2 . Зашла, так как сама создаю стиль одежды, обуви, сумок с элементами плетения.
    Удачи, Торнадо!

  • @HOSTLERS_TV
    @HOSTLERS_TV Рік тому +1

    Очень мощно! Со стороны, кажется, что если холст будет больше, то проблема с темными участками станет менее выражена)

  • @Andrey5945
    @Andrey5945 Рік тому +1

    Мне кажется надо на первом этапе для каждой возможной линии определить её «черность» от 0 до 256 посчитав кол-во встреченных черных пикселей в зависимости от её длины, например при длине линии в 100пкс встретили 50пкс и присвоили линии 128, при длине линии в 50пкс встретили 25пкс и тоже присвоили 128. На втором этапе надо заставить трассировщик так построить маршрут чтобы максимально точно приблизиться к «черности» линий. При этом можно скажем задать допустимое отклонение от нужной «черности» в +/-10ед. или считать что за один проход чернее становиться на 5 ед.

  • @СергейЗ-ч6ч
    @СергейЗ-ч6ч Рік тому

    Гениально! С нетерпением ждем продолжения проекта! Спасибо!

  • @ИгорьКовальков-м3ш

    Есть предложение к исходному алгоритму - определять не путь и вычитать его, а разбить холст на пиксели(или нители, они по размеру будут разные меньше к краям), которые покрывает набор хорд из ниток, и уже для каждой нити(хорды) определить вес, выбрать наиболее используемые и уже имеющийся набор используемых хорд - перевести в граф для плетения

  • @torosand4302
    @torosand4302 Рік тому +1

    Дорогой Кекс ! всё супер продолжай свои эксперименты дальше ждём-с.

  • @KL_Play
    @KL_Play Рік тому

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

  • @АндрейДубик-к7д

    Круто! Начинал смотреть канал, когда поделки были попроще. А теперь не угнаться за тобой. Спасибо, всегда очень интересно!