Search
Write a publication
Pull to refresh
88
0
Вячеслав Шапилов @SHVV

User

Send message

Расслоения в стали. Как они образуются

Reading time12 min
Views33K
Тема этой статьи несколько необычна для Хабра. Меня побудило ее написать простое и понятное желание напомнить, что в свое время в нашей стране на очень высоком уровне была металловедческая наука, в частности ее раздел по исследованию причин разрушения высокопрочных материалов под нагрузкой. Еще до того, как попал в ЛАНИТ, я занимался исследованиями этой темы и до сих пор не потерял к ней интерес. Проблема разрушения материалов тоже не стала менее актуальна, поэтому предлагаю вашему вниманию пост о причинах появления расслоений в высокопрочных сталях.

Читать дальше →

Хакаем CAN шину авто. Виртуальная панель приборов

Reading time14 min
Views232K


В первой статье «Хакаем CAN шину авто для голосового управления» я подключался непосредственно к CAN шине Comfort в двери своего авто и исследовал пролетающий траффик, это позволило определить команды управления стеклоподъемниками, центральным замком и др.

В этой статье я расскажу как собрать свою уникальную виртуальную или цифровую панель приборов и получить данные с любых датчиков в автомобилях группы VAG (Volkswagen, Audi, Seat, Skoda).

Мною был собран новый CAN сниффер и CAN шилд для Raspberry Pi на базе модуля MCP2515 TJA1050 Niren, полученные с их помощью данные я применил в разработке цифровой панели приборов с использованием 7″ дисплея для Raspberry Pi. Помимо простого отображения информации цифровая панель реагирует на кнопки подрулевого переключателя и другие события в машине.

В качестве фреймворка для рисования приборов отлично подошел Kivy для Python. Работает без Иксов и для вывода графики использует GL.

  1. CAN сниффер из Arduino Uno
  2. Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
  3. Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
  4. Софт панели приборов на Python и Kivy (UI framework)
  5. Видео работы цифровой панели приборов на базе Raspberry Pi

Под катом полная реализация проекта, будет интересно!

О простых вещах-сложно. «Cпящая сталь». Чем смазать заржавевшие болты или Не WD-40 единым…

Reading time22 min
Views129K
Посвящается всем отчаявшимся и потерявшим надежду… открутить заржавевшую гайку!

На улицы наших городов определенно пришла весна. Потеплело и люди с радостью начали отдавать предпочтение своим настоящим железным друзьям, хоть на время забывая про планшеты и смартфоны. Велосипедисты, мотоциклисты и еще множество любителей сезонных средств передвижения достали свое добро и вдруг обнаружили, что что-то заржавело, что-то невозможно открутить и т.д. и т.п. Признаюсь, я один из этих, обнаруживших :) И чтобы не пропал даром труд по борьбе с коррозией, решил накопленный материал оформить в хабра-статью.

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

Ну и, традиционно — не забудь закинуть в закладки, %USERNAME%, пригодится! :)


Читать дальше →

О простых вещах-сложно. Письмо химика 3D-печатнику. Растворители для пластмасс и защита от них

Reading time15 min
Views109K
DIY посвящается...

Одним из наиболее часто задаваемых вопросов в моей консультационной практике являются вопросы связанные с растворением/склейкой пластмасс с помощью всевозможных органических растворителей. В последнее время произошел настоящий всплеск интереса к химии высокомолекулярных соединений, связанный с появлением доступных 3D принтеров и необходимостью ориентироваться в «чернилах» для них (т.е. полимерных нитях-филаментах). Лишний раз убеждаюсь в том, что ни один, даже самый продвинутый «музей науки» с эффектным шоу не может так заставить IT-шника интересоваться пластмассами, как собственный 3D-принтер. Так что, читатель, если тебе хоть раз приходилось думать чем склеить пластмассу, которую не клеил default-ный суперклей, если мучали сомнения по поводу растворения поддержек свежеотпечатанной детали, да и просто интересно, чем можно отмыть клей от магазинного ценника на подарке — прошу под кат. Также настоятельно рекомендую страницу отправить в закладки не только тем, кто часто занимается склеиванием пластмасс, но и всем тем, кому часто приходится работать с различными растворителями/разбавителями. Делалось для себя — подарено Хабру!

Читать дальше →

Музыка в День космонавтики

Reading time4 min
Views15K
Традиционно на 12 апреля я размещаю в соц. сетях песню «Fire in the Sky», одну из моих самых любимых на космическую тему и прекрасно подходящую к празднованию Дня космонавтики. Но это далеко не единственная отличная композиция на космическую тему. Музыка может менять наше состояние, радовать, печалить или погружать в задумчивость. Предлагаю отметить этот День космонавтики путешествием в космический «полуабстрактный мир, нечувствительно сконструированный поколениями композиторов» (братья Стругацкие).


Что почитать и посмотреть из свежей фантастики: Марс, киборги и восставший AI

Reading time5 min
Views53K


За окном весенняя пятница, и очень хочется отвлечься от кодинга, тестирования и прочих рабочих дел. Мы собрали для вас подборку понравившихся фантастических книг и фильмов, которые вышли примерно за последний год.
Читать дальше →

Визуализация времени возрождения Рошана

Reading time56 min
Views53K
В данной статье рассматривается перехват функций графического API на примере DirectX 9 под x64 применительно к игре Dota 2.

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



Disclaimer: Автор не несет ответственности за применение вами знаний полученных в данной статье или ущерб в результате их использования. Вся информация здесь изложена только в познавательных целях. Особенно для компаний разрабатывающих MOBA, чтобы помочь им бороться с читерами. И, естественно, автор статьи ботовод, читер и всегда им был.
Читать дальше →

«Галоп пикселя — часть первая» — базовые понятия, этапы взросления, прикладные упражнения

Reading time42 min
Views303K


«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
«Галоп пикселя», часть VI — Анимация персонажей. Бег (линк)

Всем хорошо известно, как мейнстрим подстегивает появление публикаций, связанных с тем, что популярно «на этой неделе». Последние полгода я часто натыкался на статьи «знакомство с пиксель-артом». Начинались они, как правило, с перечисления возможностей определенного софта. Однако за вычетом вопроса выбора программы и беглого перечисления известных фактов ни на йоту не приближали читателя к пониманию того, как этот пиксель-арт готовить. Именно этим досадным упущением мне хотелось бы заняться на первых же страницах 2015-года.

В данной публикации мы не рассматриваем программы, но копаем нечто большее. Сами пиксели. От истоков, начав с четырехцветной CGA-эры, вплоть до эпохи ренессанса. В публикации мы не рассматриваем игры, не поем дифирамбы художникам прошлого (разве что самую малость), занимаясь именно процессом создания простейшего пиксель-арта. Данный материал будет интересен начинающим артистам и интересующимся. Статья практически не содержит теории, нудных умозаключений и представляет сторонний взгляд на мир пиксель-арта со стороны некоего самоучки, который предпочел открыть каждую из Америк самостоятельно, не оглядываясь на официальных, общепризнанных и задокументированных Колумбов. Статья снабжена обильным количеством поясняющих иллюстраций, примеров, и советов.

Материал разделен на несколько публикаций в виду объема текста и изображений. Каждая статья имеет свою степень сложности, однако, все из них наглядны и могут быть использованы как руководство к действию.


Лопатить пиксели

Пиксель-арт: от черновика до игрового ассета

Reading time10 min
Views151K
imageimage
В этой статье я постараюсь визуализировать общий подход к работе. Итак, вы решили учиться арту: вы скачали какое-то ПО, запустили его и увидели все эти опции, бесконечные цвета и многое другое, быстро всё закрыли, удалили программу и выбросили свой ноутбук в окно.

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

Если вам это знакомо, то данная статья как раз для вас, так что продолжайте читать.

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

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

Если возьмётесь за работу очень усердно, то, возможно, получите неплохие результаты через несколько месяцев.
Читать дальше →

Делаем современное веб-приложение с нуля

Reading time31 min
Views162K
Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?

В этой статье мы попробуем набросать boilerplate простейшего веб-приложения со следующей архитектурой:


Что мы покроем:

  • настройка dev-окружения в docker-compose.
  • создание бэкенда на Flask.
  • создание фронтенда на Express.
  • сборка JS с помощью Webpack.
  • React, Redux и server side rendering.
  • очереди задач с RQ.
Читать дальше →

Задача N тел или как взорвать галактику не выходя из кухни

Reading time34 min
Views49K



Не так давно я прочёл фантастический роман «Задача трёх тел» Лю Цысиня. В нём у одних инопланетян была проблема — они не умели, с достаточной для них точностью, вычислять траекторию своей родной планеты. В отличии от нас, они жили в системе из трёх звёзд, и от их взаимного расположения сильно зависела «погода» на планете — от испепеляющей жары до леденящего мороза. И я решил проверить, можем ли мы решать подобные задачи.
Читать дальше →

На столбе висят три глаза, или сказ о том, что пяти ног ATtiny13 вполне достаточно

Reading time46 min
Views42K


КДПВ «Ой, всё».


Мало шансов, что сей лонгрид станет живительным источником мудрости интеллектуалам, искушенным в тайнах гадания на картах Карно и познавшим потаенный смысл Третьей Нормальной Формы. Но если вы зачем-то трогали руками arduino, в кладовке пылится паяльник, понимаете, почему у батарейки один плюс, а у С++ два, то вас не смогут оставить равнодушными поистине волшебные и удивительные чудеса. Итак, имею удовольствие рекомендовать вам номера сегодняшнего представления бродячего цирка «Саман с Самшитом»:


  • Добавление RAM и ROM в ATtiny13!
  • Искусственный интеллект в микропроцессор — про и контра, или спящая красавица — ну она не дура ли?
  • Или все таки dura lex sed lex?
  • Как добавить ножек в ATtiny13?
  • Пару слов о пятом измерении: как впихнуть невпихуемое?
  • Распиливание напополам не-девствениц с перемешиванием содержимых половин (с гарантией восстановления).
  • Номер «Кормление страждущих» (см. более ранний случай насыщения пяти тысяч человек пятью ячменными хлебами и двумя рыбами).

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

Читать дальше →

Красивые точные часы из старого смартфона

Reading time25 min
Views91K


Речь в статье пойдёт о том, как старый ненужный мобильник переделать в отличные настенные часы с крупными цифрами, всегда точным временем и резервным питанием.

Я расскажу о некоторых выясненных особенностях сихронизации времени в ОС Андроид, а также о разных электрических хитростях в системе питания смартфона. Опишу пример схемы на несложных аналоговых компонентах, которая осуществляет автоматическое резервное питание. И конечно речь будет о программной части андроид – как и с помощью чего можно самому сделать из смартфона красивые часы на любой вкус.
Читать дальше →

Наша с девушкой первая видеоигра. Разработка на Unity. Часть 1

Reading time7 min
Views37K
Ну как первая… Если не считать релизы только под Android и с десяток заброшенных проектов у финиша, то да, это первая наша игра с замахом больше чем на одну платформу. Как же всё начиналось? А всё просто, работали мы значит над другим проектом, назовем его «проект А», работали уже долгое время и решили, а не сделать ли нам за пару месяцев игру и потренировать на ней наши маркетинговые навыки, а «проект А» выпустим сразу после с большим опытом в продвижении игр. Но звезды не сошлись, петух не свистнул и «проект А» залег на дно ровно на год. Но эта история не о нем, а о логической игре под названием «Cubicity: Slide puzzle».


Читать дальше →

Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет

Reading time26 min
Views151K


Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания. Заодно я решил составить шпаргалку с описанием большинства современных технологий, чтобы в случае чего кидать жаждущим новых знаний линк на эту статью, да и самому не забывать.
Читать дальше →

Неожиданная эффективность квазислучайных последовательностей

Reading time22 min
Views24K
В этой статье я представляю новую квазислучайную последовательность с низким расхождением, обеспечивающую значительное улучшение по сравнению с современными последовательностями, например, Соболя, Нидеррайтера и т.д.


Рисунок 1. Сравнение различных квазислучайных последовательностей с низким расхождением. Заметьте, что предлагаемая мной $R$-последовательность создаёт более равномерно распределённые точки, чем все остальные методы. Более того, все остальные методы требуют тщательного подбора базовых параметров, а в случае неправильного подбора приводят к вырожденности (например справа вверху)

Рассматриваемые в статье темы

  • Последовательности с низким расхождением в одном измерении
  • Методы с низким расхождением в двух измерениях
  • Расстояние упаковки
  • Множества с многоклассовым низким расхождением
  • Квазислучайные последовательности на поверхности сферы
  • Квазипериодический тайлинг плоскости
  • Маски дизеринга в компьютерной графике

Какое-то время назад этот пост был выложен на главной странице Hacker News. Можете прочитать там его обсуждение.

Bonsai: фамильный вики-движок

Reading time13 min
Views22K

Лирическое вступление


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

Многие фотографии были сделаны более семидесяти лет назад. На одной был дедушка — в студенческие годы, еще молодой и статный, в абсолютно ломовейших очках. «Надо же, мой дед носил хипстерские шмотки еще до того, как это стало мейнстримом», подумал я, и невольно улыбнулся. Его я узнал сразу, но дальше пошли фотографии людей, о которых я ничего не помню. В чертах лица можно смутно угадать родство — и все.



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

Идеальным решением для хранения семейных данных мне представлялся гибрид вики-движка и фотоальбома. Готовых подходящих решений не оказалось, поэтому пришлось написать собственный. Он называется Bonsai и доступен с открытым кодом по лицензии MIT. Дальше будет история о том, как он устроен и как им пользоваться, а также история его разработки и немного ДРАМЫ.
Читать дальше →

Коллапс волновой функции: алгоритм, вдохновлённый квантовой механикой

Reading time11 min
Views34K
image

Алгоритм Wave Function Collapse генерирует битовые изображения, локально подобные входному битовому изображению.

Локальное подобие означает, что

  • (C1) Каждый паттерн NxN пикселей в выходных данных должен хотя бы раз встречаться во входных данных.
  • (Слабое условие C2) Распределение паттернов NxN во входных данных должно быть подобным распределению паттернов NxN в значительно большом количестве наборов выходных данных. Другими словами, вероятность встречи определённого паттерна в выходных данных должна быть близка к плотности таких паттернов во входных данных.
Читать дальше →

Точность depth наглядно

Reading time7 min
Views13K
Точность глубины — это боль в заднице, с которой рано или поздно сталкивается любой программист графики. На эту тему написано множество статей и работ. А в разных играх и движках, и на различных платформах можно увидеть множество различных форматов и настроек depth buffer.

Преобразование глубины на GPU выглядит неочевидным из-за того, как именно оно взаимодействует с перспективной проекцией, и изучение уравнений ситуацию не проясняет. Чтобы понять как это работает, полезно нарисовать несколько картинок.

image

Эта статья разделена на 3 части:

  1. Я попытаюсь объяснить мотивацию нелинейного преобразования глубины.
  2. Я представлю несколько графиков, которые помогут понять как нелинейное преобразование глубины работает в разных ситуациях, интуитивно и визуально.
  3. Обсуждение основных выводов Tightening the Precision of Perspective Rendering [Paul Upchurch, Mathieu Desbrun (2012)], касающихся влияния ошибки округления чисел с плавающей точкой на точность глубины.

Читать дальше →

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Date of birth
Registered
Activity