🤯Вызов принят! Робот для плетения картин из гвоздей и ниток. Часть 1
Сегодня попробуем научиться плести картины из гвоздей и ниток!
★ Познакомьтесь с основами Python-разработки на бесплатном курсе от Яндекс Практикума - clck.ru/33qcmS
▼ Сайт проекта ▼
alexgyver.github.io/
Жду ваших доработок!
★★ МОИ ПОДБОРКИ ПОЛЕЗНЫХ ТОВАРОВ С ALI ★★
► 3D принтеры и советы alexgyver.ru/3d-printers/
► Всё для электронщиков (паяльники, приспособления) alexgyver.ru/all-for-soldering/
► Инструменты (шуруповёрты, дремели, ручное) alexgyver.ru/my_instruments/
► Все существующие модули и сенсоры Arduino alexgyver.ru/arduino_shop/
► Аккумуляторы, платы защиты alexgyver.ru/18650/
Теги: #самоделки #эксперимент #arduino #электроника
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
✔ Официальный сайт: alexgyver.ru/
✔ Telegram: t.me/alexgyvershow
✔ ВКонтакте: vk.com/alexgyvershow
✔ Форум: community.alexgyver.ru/
✔ Поддержать канал денежкой alexgyver.ru/support_alex/
Я думаю, у меня есть неплохой фикс для твоего алгоритма. Чтобы светлые части изображения не затемнялись нитками так сильно, я бы попробовал не просто вычитать цвет из исходного изображения вплоть до нуля (если считать белый нулем), а уходить в минус (хранить "отрицательный" цвет можно например в отдельном канале или во вспомогательном изображении). Дело в том, что в твоем алгоритме учитывается оставшийся темный цвет на рисунке но не учитывается сколько же черного мы уже добавили в светлые области. То есть при вычислении суммы черных пикселей на рисунке нужно корректировать значение с учетом уже нарисованных там линий. Получится что значение для линия проходящей через точки где уже "есть" нитки будет меньше. И чем больше таких точек тем меньше вероятность что алгоритм выберет эту линию в качестве следующий. С таким подходом я уверен не нужны будут костыли с запретными зонами и количеством нитий на гвоздь.
согласен
Ну что-то в этом есть.... (😏Зовите санитаров)
Еще проще - можно не рисовать белую линию на исходном изображении, а сумму черного для линии считать как сумма черного на исходном минус сумма черного на текущем полученном.
а что если попробовать не из черного в белый а из белого в черный в таком случаи картину загружать в инверсионном виде тогда прогрессия будет расти в обратную сторону
Если не пропускать нитку по белому вообще это сократит количество гвоздей и получится ерунда для самого белого цвета нужно ограничить количество пропусков нитки через эту область до 1.
А заметили какие Алекс красивые руки роботу, который нитки плёл, сделал!? Даже ногти ему накрасил. Видно робот любит Алекса, потому как, только у любящего робота хватит терпения столько ниток заплести. Лайк!
Алекс вообще молодец. Он роботу и сиськи приделал, на 20:06 видно :) Если серьезно, то крутой проект. Можно ещё в приложение диктовку голосом добавить. Чтобы оно голосом проговаривало какие гвозди соединять.
Еще и в 2 часа ночи)
Какая то толстая женщина плела ...
Секс робот
ещё и из сантеха такое замутить! Ну, мастер!
Природа настолько очистилась, что Алекс начал выпускать по 2 видео в неделю!
Это робот бармен помогает
Это чаталекс все за него делает
ШЕДЕВР получается тогда, когда человеку нравиться то, чем он занимается. Молодец Алекс!
"Нравится" пишется без мягкого знака ☝️
@@mudofel согласен. Но для человека, который знает три языка, причем русский не родной, думаю это не так важно...
Ого 2 видео за неделю, так неожиданно и приятно😊
Согласен
Полностью согл
+
Это значет что ближайшее месяца 3 видео не будет😊
Адвокат Егоров включился )
Спасибо тебе Саня! Те знания которые ты даёшь, никогда, никто не даст ни в одном учебном заведении, так, как это преподносишь ты. Учиться становится действительно интересно.
Чему тебя тут научили? Тебе дали всё готовое, а ты создаешь иллюзию что это ты сам до этого допер. Если тебе нравится учиться, значит ты где-то ошибаешься, человеческий мозг очень ленив и все попытки вбивания информации всячески пытается избегать. Соответственно он не может приносить удовольствия. Другой момент, если тебе это реально интересно и ты получаешь ответы на свои вопросы и потребности, которые будут исчерпаны на поверхностном уровне. В любом случае, извини что вмешался и успехов в обучении.
лол, типичный неуч, косинусы и алгоритмы тут основа, а их учат в уч. заведениях, а не на ютубе. Ну, по крайней мере у нас, в России.
@@undetectby вот так вот взял и разрушил его мирок
В очередной раз мне не слишком интересны такие "картины", и вообще поделки. Но совершенно балдею от процесса рассуждения и достижения результата методом проб и ошибок в совершенно необычных областях! За это уважаю и ценю! Спасибо Алекс!
Плюсую. Гораздо интереснее разработка робота, «красящего стенку», чем покрашенная стенка.
Обалдеть, какая титаническая работа проделана! Восхищаюсь твоему упорству и тяге к познанию. И разобрался и запрограммировал и алгоритмы сам придумал... 👍
Гениальный Гайвер, как приятно видеть видосы так часто. Вдохновляешь на свершения! Сам торчу в самоделках и программировании, включая Пайтон. ЗЫ: ОООЧень жду твой обещанный румтур!
Бабушки старше 72 лет на лавочке
Алекс , могу ошибаться но когда у тебя тянется нитка ты вычитаешь пиксели из исходной картины , но когда ты проводишь еще одну которая пересекает первую ты не добавляешь обратно пиксель в месте пересечения из за этого и появляется оочень много черного без полутонов
Самый лучший канал на ЮТУБЕ ! РЕСПЕКТ! Гений, а не человек! Очень рад, что наткнулся на твой канал 3 года назад!)) Спасибо!!! Обязательно повторю !
Вместо жесткого ограничения на минимальный угол, можно добавить вес - чем меньше угол между хордами, тем алгоритму должно быть труднее провести хорду. Аналогично с числом ниток на гвоздь.
Ну будет у тебя на 100 метров 30 см погрешности. Тебе не ракету из этих ниток строить.
Видео огонь! Сразу захотелось открыть пайчарм. Есть идея, что нужно при выборе траектории нити учитывать не количество перекрываемого черного, а процент черного цвета в отношении к общей длине линии. То есть короткая линия может содержать в сумме меньше черного, чем более длинная линия. Но правильнее будет выбрать ту, которая "чернее" безотносительно длины в пикселях.
Спасибо большое за твой труд друг!
Видео огонь, спасибо за такие проекты, давно видел их рекламу, но не хотел тратить деньги, сейчас даже еще интереснее, посмотреть как будет реализован проект и обязательно его повторить, еще раз большое спасибо и удачи!)
Круто! Начинал смотреть канал, когда поделки были попроще. А теперь не угнаться за тобой. Спасибо, всегда очень интересно!
это обалденно. ждём вторую часть
Спасибо большое за видео, Александр! Было очень интересно и познавательно. Мне, конечно, очень и очень далеко до уровня Александра, но у меня есть один вопрос к алгоритму, который выбирает, на какой гвоздь будет наматываться нитка. Автор сказал, что выбирается нитка, которая покроет наибольшее кол-во черных пикселей. Мне кажется, что лучше будет рассматривать не количество чёрных пикселей, ведь расстояния до разных гвоздей разные. Попробую привести пример. Если у алгоритма будет выбор между ниткой, которая покроет 100 черных пикселей + 100 белых, и другой ниткой, которая вся должна быть черной, но включает в себя только 50 пикселей, то будет выбрана первая нитка, хотя она будет правильной лишь на 50%, а вторая нитка на 100%. Мне кажется, что стоит немного изменить алгоритм так, чтобы он выбирал нить, которая будет иметь наибольший процент черных пикселей от кол-ва всех пикселей, покрываемой этой нитью. Надеюсь, что понятно выразился. А так видео очень классное, ещё раз спасибо)
так у него так оно и работает вроде, где наибольшее количество чёрного, там нить и идёт, а белого соответственно меньше
@@user-do8dk7gu4r, как я понял, Александр учитывал кол-во черных пикселей, а не их процентное соотношение
Гениально! С нетерпением ждем продолжения проекта! Спасибо!
Большой уважение тебе. Очень давно смотрю и прям получаю удовольствие 👍👍👍 Занимался программированием давно. Так же рассуждал и анализировал. Потом судьба не сложилась.
Мысль для улучшения: Может нужно позволить нитке идти иногда не через картину, а по внешнему кругу. Тогда получится как бы скипнуть некоторые места и наоборот дозакрасить более светлые. Не знаю по каким параметрам разрешать программе это делать, но я думаю можно определить методом тыка
Не, плохой вариант
@@ivanromanchenko459 лол. Ну ладно. Раз ты сказала, значит не надо. Может все же объяснишь?
@@Stepan.K Могут появиться чрезмерно толстые края у рисунка. В одном месте будет жирный край, а в другом - нет.
@@user-cp1sz4wx9z, может ограничить это каким-то параметром или взять нитку потоньше
Да, сделать как-то, чтобы ценность изображения возрастала по приближению к центру картины и если области по краям будут чуть темнее, чем нужно, то это нестрашно
Кайф! Ждём с нетерпением допиливания) я загорелся пойду шкаф ломать, доску жалко покупать) а гвозди заменю на саморезы😂
Блин, думал буквально месяц назад про то, чтобы автоматизировать этот процесс и тут вижу "Час назад" вышел ролик от Алекса Гайвера. Интересно, посмотрим.
Если человек талант, то он талант во всём!!! Молодец, кайфую от твоих видео)))
Супер. Видос огонь!) Дополнительный лайк за майку)
18:35 ты уже сделал робота? Красава!
Ну просто очень круто!) Alex, ты лучший! У меня зрение очень плохое, рингстринг еле сплел, а сделать шаблон самому и мечтать нечего, но я знал, что гайвер сможет и окунет нас в процесс с головой!) удачи тебе во всем!
Только вчера задумался как сделать такую картину самому, а тот вот ответ сразу. Красавчик.
Радуешь второй день подряд))
Спасибо за видео! Можно узнать когда планируется 2я часть?)
Хоть это все слишком сложно, но безумно интересно наблюдать за творческим человеком!
Вау! Какие крутые идеи. Обожаю смотреть, как ты инженеришь
Ура мой любимый канал выпускает сразу два видео за неделю, спасибо
Очень ждал этого робота!
Как всегда посмотрел и подумал, не ужели во всём этом реально можно разбираться) спасибо за позновательные видео!
Круто очень! И ещё благодарю за идеи, что можно с этим всем делать. Если не заленюсь, буду пробовать. Реклама готовых наборов такой творческий порыв не вызывала...
Ура! Давно ждал когда сделаешь это. Надеюсь смогу сделать картину ракеты)
Жду вторую часть - год первый
Шикарный проект, гайвер огромное спасибо!
Классный и интересный проект. Удачно её реализовать. А мы ждём видео и все подробности.
Ошибка в том, что вы считаете только черный, поэтому у вас получается на светлых областях слишком много черного. Вам нужно считать белый или как минимум учитывать уже нарисованный черный, а не делать вид, что теперь у вас там белая линия.
там вопрос уровня белого и снижения числа градация серого в исходном изображении. еще есть вероятность что надо определять условную глубину изображения по полутонам и раскладывать картинку на слои и вот уже по каждому отдельному слою строить сетку.....
Именно так. Можно например не рисовать белую линию на исходном изображении, а сумму черного на линии считать как сумма черного на исходном минус сумма черного на текущем полученном. Тогда будут учитываться уже полученные нити на светлых областях. А сейчас эта информация совсем теряется.
Класс, а теперь иди и сделай пулл реквест или хотя ишью, в котором подробно и понятным хоть немного техническим языком опиши, что конкретно ты имел ввиду
лол,все в видосе
Супер! Спасибо! Интересно!
Спасибо! Ждем вторую часть.
Круть! Очень понравилось! Удачи в развитии проекта!
Такой кайф знать питон и другие языки программирования
Интересный проект! Возможно, стоит рассмотреть возможность использования белой нитки.
Так и до цветных ниток дойти можно 🤗
Ну ты просто человечище)) большой респект за работу)
Ждемс видос на румтур! Интересно, как ты все сделал))
Еще одно возможное улучшение - добавить в алгос трассировки возможность просчитывать изменение цвета на несколько шагов вперед и выбирать тот, в котором будет больше заполнение черного. Это позволит более четко обводить кривые линии, к примеру
Ну вот, а то уже нет сил на паяльники 3 год смотреть..)
С нетерпением жду продолжения! Как всегда интересно!
Честно, ну ты умище, Алекс. Просто гений. В одиночку такие проекты делаешь, что и группам людей не под силу. Восхищаюсь твоими навыками.
Ты красава 💪🤝 Пора внедрять твои уроки в школьный курс , это не только интересно и познавательно,но и мозг заставляет развиваться .
Алекс, Спасибо очень крутой проект) ждем модернизацию.... я добрался до паяльника и пробую сделать кое что из ваших проектов, так что желаю вам и дальнейших творческих успехов)
Просто Супер!!! Ждём продолжения!
Ооооочень круто! Жду продолжения!)
Наверное алгоритм оригинала предусматривает ещё и параллельные линии, для равномерной "заливки" к.л. области...
Как это робота нет? Вот же он, на 18:35 У меня кстати дома такой же, посуду моет, уборку делает, кушать готовит... Короче удобная штука))
японский?)
@@AlexGyverShow не, у меня Башкирский))
Как он настраивается?
Ждем с нетерпением вторую часть.
Зачот! Молодец. Надо возвращать молодому поколению ум и очумелые ручки!
Думаю можно добавить в алгоритм разрешение на разрыв нити, то есть можно идти по окружности до нового гвоздя и начинать движение уже с него
Ух! Это в честь чего два видоса в два дня?)
Алекс спасибо за ролик и что стал их делать чаще. ❤😊
Супер, жду продолжения скорее!!!
Алекс, классная реализация! Мне кажется, ограничение угла и т.п. - это все "костыли", правильный алгоритм должен сразу работать правильно. Посмотрите на фото от RingString, там весь фон равномерно серый. Раз прохождения нитей через белые области не избежать, то надо постепенно "сдвигать" белый цвет в серую область. Т.е. раз в одном месте нити прошли через белую область и сделали ее серой, то и все остальные белые области должны стать такими же серыми. Таким образом удастся сделать равномерно серый фон. И это как раз заставит алгоритм равномернее распределять нити.
А сможете из говна и палок в следующий раз, я думаю, будет многим интересно так как из подручных материалов
Вот он следующий проект (после эмбилайта), который я повторю! Эмбилайт повторял кстати 3 раза и еще повторять буду))) спасибо огромное!
Заспойлерил робоплëта с красивыми руками. Теперь с нетерпентем жду следующую серию, что бы увидить робоплëта во всей красе 😊
Отличный проект! Будет круто если бы станок смог бы создавать такие картины!
Было бы здорово учитывать ещё и толщину гвоздей и с какой стороны гвоздя заводить/выводить нитку, поскольку гвоздь не точка и при плетении систематическая погрешность😅
Ура, Гайвер вернулся) Наконец-то настоящий проект)
Спасибо за отличные видео. Всегда очень интересно смотреть.
Ого, класс!
Красавчик! Мне очень нравятся твои ролики! Быть добру! А чьи руки плели картину?
Гайвер на маник сходил)))
@@Vozhd_Hitromordyh что такое маник? Пирог?
@@4eptogbycla маникюр)
@@Vozhd_Hitromordyh обрати внимание, маникюр был на женских руках, а под конец видео Алекс показал исходный продукт своими руками без манишка. Он поди поженился?! Или робота с женскими руками сварганил...
@@4eptogbycla, Уже давно женился)) Был ролик с зашифрованным сообщением. Вот это сообщение было о том, что женился)
Будет куда более интересно посмотреть следующую часть
Шикарно, Алекс!
Два замечания к использованному подходу в алгоритме: 1. Для функции оптимизации прокладывания нити стоит учитывать не только вклад нити в чёрный цвет, но и сколько белых точек она затемняет - т.е. функция должна учитывать не только вклад в результат, но и порчу тоже 2. Стоит вначале нарисовать все линии от каждого гвоздя, а потом уже пройтись по кругу и выбрать последовательность обхода гвоздей (обычная задача комивояжёра по графу), чтобы сделать это одной нитью
С первым пунктом полностью согласен. Для каждой нити надо вычислять её ошибку как корень суммы квадратов расхождения для каждого пикселя деленный на количество пикселей.
Хаха, обычная задача коммивояжера, обычная np полная задача, на графе в 100+ вершин, куда уж проще то :)
@@Samiron вот тоже об этом подумал)
@@Samiron Дык не нужно оптимальное решение; достаточно "более-менее близкого к оптимальному" (или "не слишком уж неоптимального") -- тут уже не NP, а полиномиальная сложность (а при некоторых приёмчиках упрощения - и с невысокими показателями степеней).
@@dmitryvodolazsky по этим "эвристикам" некоторые кандидатские защищают, вам не кажется что это не совсем то что можно назвать "обычная задача коммивояжера"?
когда же выйдет вторая часть, уже с улучшенным алгоритмом
Очень крутую опенсурс движуху ты затеял, бро! 👍
Как же круто, спасибо за ролик!
Когда будет Вторая часть??
Эка куда вас, коллега, занесло! Но все инженеры веселятся как хотят)
Дорогой Кекс ! всё супер продолжай свои эксперименты дальше ждём-с.
Жду с нетерпением продолжение))
Гайвер сделай обзор на газовых паяльников
Почему бы не применить к изначальному изображению фильтр выделения границ? Например, использовать оператор Собеля
Это просто прекрасно! Кайфанула)
Вот это подход! Наверное это один из лучших проектов после Гайверночника и пневматической пушки!
Было бы ещё прикольно сделать что-то типа монитора используя лазер вместо нити и поворотные зеркала вместо гвоздиков
Сложность в том, что направления отражений в одной точке должно быть много разных 🙁
@@nikola-nikrasov понятное дело. А так же точность позиционирования зеркал очень важна. Единственный вариант - жертвовать детализацией изображения.
Алекс, думаю, ты и сам об этом думаешь, но как доведёшь свои чёрно-белые ниточные картины до идеала, можно попробовать в цвете! Такого я ещё нигде не слышал.
Спасибо за видео и за проект. Как то не задумывался что можно такое самому писать
прикольно, развивай тему, лайк, как нить соберу что нить из проекта))
Урааааа!!!! Наконец-то интересное видео среди этих скучных однообразных роликов у других блогеров
В алгоритме не хватает рандома, желательно синего шума. А ещё для эстетичности расчётов думаю надо чтобы чёрная нить на белых пикселях отнимала очки оценки полезности, а не просто не давала их. Так мы проанализируем самые бесполезные линии.
Все получиться! Жду вторую часть)
Вот он чудесный мир программирования! В умелых руках всё в чудо превращается! 👏
ждем робота делающего картины из транзисторов и печатных плат)
Если бы нас в школе учили на питоне, нет, учили на паскале, даже посмеялся когда услышал Видос топ, давно думал сделать такую картину
Ты еще про ку бейсик вспомни))))
Какая разница, тебя что на паскале, что на питоне обучат только основам, а они везде одинаковые. Не нужно свою лень перекладывать на других.
меня был вижуал бейсик в школе)
Супер идея для видео! Ждем робота!!
Ох! Прям до мурашек! 😊 В прошлом году, ещё до выхода RingString, сделал в подарок портрет из нитей. Конечно код я не писал, но сколько интернетов и генераторов я перепробовал… Потом несколько недель работы, и самым сложным было сделать холст. Кстати, такой способ распечатки карты холста постером в Acrobat Reader тоже думал, но по каким-то причинам не подошло (уже не помню). Холст был радиусом 50см на рамке 76*76см. Подготовка и ручная разметка точек для гвоздиков, подбор этих самих гвоздиков, выбор материала и обработки деревянного холста и прочего. Особое счастье словил когда купил готовальню, о которой мог только мечтать в школьные годы, а потом такой кайф работы с циркулем и карандашом… Мне кажется я получил больше удовольствия от изготовления, работая руками, чем получатель подарка от дарения 😅 В результате получился портрет прекрасной девушки, картина с каркасом и рамкой, с дополнительным кожухом для транспортировки и портрет даже виден в темноте. Теперь после просмотра зачесалось повторить… Наконец понятный, бесплатный и понятный генератор картин! Возможно попробую заснять и поделюсь процессом с фидбеком на работу генератора. :)