Как стать автором
Обновить
0
0
Павел Фомин @pavelhedgehog

Пользователь

Отправить сообщение

«Галоп пикселя — часть четвертая» — Анимация света и тени

Время на прочтение18 мин
Количество просмотров31K


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

Доброго времени суток Хабру и ценителям пиксель-арта, поклонникам квадратных точек, адептам лимитированных разрешений и цветов. Рад представить на ваш суд очередную статью из цикла «Галоп Пикселя». Не буду тратить время на оправдания моего долгого отсутствия и в виду явного присутствия перейду к сути дела. Сегодня мы продолжим изучать анимацию. На этот раз это будет анимация света и тени. Большей частью на статических объектах. Всё помнят – сначала база. Сначала фундамент. Сначала простое. Ну а сложное ввалится в ваши двери само, вслед за детишками.

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

Цель этой статьи показать насколько силён дуэт брата и сестры, Света и Тени в движении. Мы уже видели, как они преображают сцены в статике. Но динамика нам ещё не знакома. Давайте исправим это упущение.

Лопаты в руки.


Лопатить пиксели
Всего голосов 112: ↑112 и ↓0+112
Комментарии51

Непрерывная кросс компиляция для Raspberry PI

Время на прочтение4 мин
Количество просмотров14K

Мне хотелось развернуть систему непрерывной интеграции, кросс компилирующую CMake проект написанный на c++ с OpenGL на Raspberry PI. Заодно я хотел посмотреть, не появились ли удобные серверы автоматической сборки, не содержащие в себе питона и не потребляющие сотни мегабайт ram в простое. Одна из целей написания статьи — узнать, не прошёл ли я мимо более хорошего или простого решения :)


TLDR: drone классный, позволяет добавить простенький файл в корень репозитория на github/bitbucket — и получить автоматические билды/тесты/деплой. Прямо как в Travis, но self-hosted.


Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии7

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

Время на прочтение2 мин
Количество просмотров30K


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

Команда MIT достигла успеха, сумев создать солнечные панели из использованных аккумуляторов, при этом КПД таких панелей составляет около 19%, что сравнимо со средним показателем производимых сейчас фотоэлементов. Новый способ отрабатывался около 18 месяц, и сейчас исследователи опубликовали статью по результатам исследования, плюс выложили видео, где подробно показаны шаги создания фотоэлемента. При этом в качестве основного материала, преобразующего свет в электричество, используется перовскит (перовскитовая структура, а не природный минерал перовскит, согласно этому комментарию).
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии22

Во Франции открылась первая дорога, покрытая солнечными панелями

Время на прочтение4 мин
Количество просмотров21K


На днях власти города Турувр во Франции торжественно открыли тестовый участок дороги, покрытый солнечными панелями. По словам авторов проекта, энергии, которую будут генерировать эти панели, хватит на освещение всех улиц Турувра. Правда, и сам городок небольшой — его площадь составляет всего 24,01 км², а население Турувра немного больше полутора тысяч человек. Проезжую часть покрывают полосками с фотоэлементами 7-мм толщины.

Солнечным панелями покрыт отрезок дороги длиной всего в километр. Общая площадь замощенного фотоэлектрическими элементами участка трассы составляет 2800 квадратных метров. Понятно, что панели защищены от воздействия внешних факторов (погода, физическое воздействие проезжающих машин и проходящих людей). Основная защита — это прорезиненное покрытие. Несмотря на небольшой масштаб проекта, в церемонии его запуска приняла участие министр экологии, устойчивого развития и энергетики Франции Мари-Сеголен Руаяль.
Всего голосов 19: ↑17 и ↓2+15
Комментарии86

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

Время на прочтение9 мин
Количество просмотров117K

Простите, реформаторы образования – нам всё ещё нужны зубрёжка и повторение




Я была капризным ребёнком, росшим на лирической стороне жизни, и относилась к математике и науке так, будто они были симптомами чумы. И потому странно, что я превратилась в человека, ежедневно имеющего дела с тройными интегралами, преобразованиями Фурье и, жемчужиной математики – уравнением Эйлера. Сложно поверить, что из матофоба я превратилась в профессора прикладных наук.

Однажды один из моих учеников спросил, как мне это удалось – как я изменила свой мозг. Мне хотелось ответить – чёрт возьми, с трудом! Я всё-таки заваливала экзамены по математике и физике в начальной, средней и высшей школах. Я записалась в класс для отстающих по математике после того, как отслужила в армии, в 26 лет. На выставке примеров нейропластичности у взрослых я была бы первым экземпляром.
Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии77

Почему земляне делают глючный софт и железо

Время на прочтение5 мин
Количество просмотров41K
Думаю никто не станет спорить с тем, что качество сколь-либо сложных систем создаваемых землянами далеко от идеала. Конечно, можно сказать, что всё работает — самолёты летают, космические корабли бороздят просторы орбиты Земли и т.д.

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

Хотелось бы рассмотреть причины и возможные пути решения этой планетарной проблемы.
Читать дальше →
Всего голосов 49: ↑32 и ↓17+15
Комментарии306

Создаем новую OS. Действительно новую, реально операционную, и правда – систему

Время на прочтение23 мин
Количество просмотров87K

О создании новой операционной системы в последнее время говорят немало, особенно в России. В сумме размер всех публикаций по данной теме наверняка превышает размеры исходного кода любой операционной системы. Так что остается только одна проблема – от этих разговоров никаких новых OS не появляется. Всё, что предъявляется публике (и на что тратятся бюджетные деньги), на поверку оказывается кастомизированными сборками OS семейства Linux, а значит, не содержит ничего принципиально нового. Но, если о чем-то не говорят, это не значит, что его не существует.
В этой статье – проект принципиально новой OS, созданный в нерабочее время одним из ведущих сотрудников (Principal Engineer) российского подразделения Intel.
Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии158

HBO заставила удалить детский рисунок с надписью «Зима близко»

Время на прочтение3 мин
Количество просмотров51K

Рисунок девочки-подростка, который привлёк внимание HBO

Владельцы интеллектуальной собственности днём и ночью следят, чтобы никто в интернете не нарушил их права. Американская кабельная и спутниковая телевизионная сеть Home Box Office (HBO), которая входит в корпорацию Time Warner, тоже ревностно отслеживает нарушения. В портфеле их интеллектуальной собственности — известный сериал «Игра престолов» и всё, что связано с этим сериалом. Торговой маркой на территории США является даже фраза «Зима близко».
Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии126

Маленькие секреты трассировки плат с операционными и инструментальными усилителями

Время на прочтение4 мин
Количество просмотров45K
При проектировании плат
Ничто не обходится так дёшево,
И не ценится так высоко,
Как правильная трассировка.



В век интернета вещей и доступности изготовления печатных плат, причём не только по ЛУТ технологии, их проектированием часто занимаются люди, вся деятельность которых связана с цифровой техникой.

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

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

Рекомендации очень просты и многим известны, тем не менее, как показала моя практика, далеко не всегда даже специалисты с опытом их придерживаются.
Бесплатные советы живут под катом
Всего голосов 38: ↑36 и ↓2+34
Комментарии88

Универсальный драйвер, твой выход из сумрака

Время на прочтение3 мин
Количество просмотров63K
Вот есть же на свете люди, которые в одиночку пилят свои гениальные долгострои, бросают, снова продолжают… А об их проектах никто не знает. Alter, автор драйвера UniATA, один из них.

Подготавливая очередной топик с новостями из жизни команды ReactOS, я с изумлением осознал факт, что такая гениальная разработка как UniATA не только ни разу не упоминалась на хабре, но так и пользуется незаслуженным забвением в интернете. UniATA — это универсальный во всех смыслах этого слова драйвер ATA-устройств, разрабатываемый с 2002 года. Ключевой особенностью является то, что драйвер не требует переустановки OS при смене IDE контроллера или мaтеринской платы.

Проект остро нуждается в тестерах!
UPD Alter обнаружил этот топик и получил +10 к морали, в результате вышла
Версия 0.42h
  • Первые тесты AHCI ATAPI прошли успешно.
  • SATA и AHCI ATAPI теперь не переключаются в PIO-режим для исполнения команд отличных от чтения и записи.
  • Добавлена поддержка эмуляции SCSI-команд READ16/WRITE16/VERIFY16/READ_CAPACITY16. Это нужно для расширения адресного пространства LBA до 64 бит, что дает возможнлсть работать с дисками более 2Тб, которые используют более 32 бит для LBA. Note: дисковые драйверы верхнего уровня тоже должны поддерживать эту возможность.


UniATA на данный момент обеспечивает поддержку:
Всего голосов 98: ↑89 и ↓9+80
Комментарии46

MathMl в HTML5

Время на прочтение4 мин
Количество просмотров39K
До выхода HTML5 использование формул было сущим наказанием. Судите сами: в 2005-м необходимо было иметь под рукой либо специальный браузер, либо разбивать текст на собственно HTML и вставки из изображений или PDF. Поиск и прочие операции редактирования и/или вывода на экран/бумагу был неоднозначной задачей, коей посвящались целые монографии.

В 2012-м было уже попроще. Появилась возможность подключать необходимые плагины (Firemath для FireFox и Daum Equation Editor для Chrome). Но неоднозначность стандартов (и поддержки) фактически заставляла писать одну и ту же статью для каждого из браузеров (и для их версий). Или встречать пользователей волшебным приветствием «Ваш браузер надо обновить/дополнить расширением».

Неудобно? — Да! Отнимало много времени на поиск универсального решения? — Да! Заставляет думать о том, какой тип записи лучше (презентационный или содержательный), каким конвертером пользоваться (а их только общеизвестных с десятка полтора)? — ДА! ДА! ДА!

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

Теперь, с приходом HTML5, все стало намного проще. В нем появился новый контейнер <math>.
Каждый допустимый экземпляр MathML должен быть внутри этого контейнера.
Он не допускает вложений, но внутри может быть произвольное число других дочерних элементов.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии24

Почему объём памяти у MacBook Pro ограничен 16GB

Время на прочтение6 мин
Количество просмотров56K


Под звуки фанфар был выпущен MacBook Pro. А затем, к разочарованию многих, стало известно самое большое его ограничение: не более 16 Гб памяти для всех моделей.

Реакция общественности была достаточно сильной для того, чтобы на неё ответил сам Фил Шиллер [главный вице-президент Apple по глобальной рекламе]:
Размещение более 16 Гб быстрой памяти в ноутбуке потребовало бы использования системы памяти, потребляющей гораздо больше энергии, и это было бы крайне неэффективно. Надеюсь, что вы обратите внимание на новое поколение MacBook Pro, это невероятная система.

И хотя логика тут ясна, попробуем копнуть глубже.

Используемый чипсет от Intel поддерживает следующие типы RAM: DDR3 RAM, Low Power DDR3 RAM (LPDDR) и DDR4 RAM. Однако LPDDR3 работает на частотах не более 1600 Мгц, но Apple использует 2133 Mhz RAM. Как это возможно? Просто существует ещё один стандарт памяти, LPDDR3E (E — улучшенная), которая разгоняется до 2133 Mhz. Все типы памяти DDR3 ограничены объёмом 16 GB.
Читать дальше →
Всего голосов 59: ↑50 и ↓9+41
Комментарии208

Полный кошмар: USB-C и Thunderbolt 3

Время на прочтение7 мин
Количество просмотров374K
Купили ли вы уже себе новый MacBook или MacBook Pro? А может, Google Pixel? Вы находитесь на пороге путаницы, благодаря этим новым портам «USB-C». Этот простецкий на вид порт таит в себе вселенскую путаницу, и благословенная обратная совместимость использует различные кабели для различных задач. Покупателям придётся очень аккуратно выбирать себе кабель!



USB Type-C: порты и протоколы


Порты USB Type-C распространились достаточно широко, Google начал использовать их на своих компьютерах и телефонах Pixel и Nexus, Apple применяет их на 12" MacBook, а теперь ещё и на новых MacBook Pro. Это физическая спецификация для 24-контактного двустороннего штекера и соответствующих кабелей. В этой статье я буду называть этот физический кабель и порт «USB-C», как наиболее часто используемый термин. Google сообщает, что этот порт называют «USB-C» 21 миллион раз, «USB C» 12 миллионов раз, а правильно, «USB Type-C», всего 8,5 миллионов раз.
Читать дальше →
Всего голосов 71: ↑69 и ↓2+67
Комментарии163

Невероятно громкий звук, обошедший Землю четыре раза

Время на прочтение4 мин
Количество просмотров100K
image

27 августа 1883 года Земля породила звук, громкость которого с тех пор не была превзойдена.

Звук родился на острове Кракатау, расположенном между Явой и Суматрой в Индонезии, в 10:02 утра по местному времени. Его слышали в 2080 км на Андаманских и Никобарских островах («были слышны удивительные звуки, будто пальба из пушек»); в 3200 км в Новой Гвинее и западной Австралии («серия громких звуков, напоминающих артиллерию в направлении на северо-запад»); и даже в 4800 км в Индийском океане на острове Родригес недалеко от Маврикия («идущий с востока звук, будто отдалённый рёв тяжёлых пушек») [1]. В общей сложности его слышали люди в 50 различных географических точках, покрывающих 1/13 часть земного шара.

Задумайтесь о том, насколько это удивительно. Если в Нижнем Новгороде вам кто-нибудь скажет, что слышал звук из Москвы, вы посмотрите на него с подозрением. Но Нижний Новгород находится в 400 км от Москвы. А в описываемом случае всё было так, будто человек, находившийся в Чите, слышал звук, идущий из Москвы. Со скоростью передвижения 1233 км/ч, звуку на преодоление такого пути требуется около 4 часов. Это был самый далеко распространившийся звук в известной нам истории.
Читать дальше →
Всего голосов 110: ↑106 и ↓4+102
Комментарии71

Математика CSS-шлюзов

Время на прочтение18 мин
Количество просмотров55K

CSS-шлюзом (CSS-lock) называется методика из адаптивного веб-дизайна, позволяющая не перепрыгивать от одного значения к другому, а переходить плавно, в зависимости от текущего размера области просмотра (viewport). Идею и одну из реализаций предложил Тим Браун в статье Flexible typography with CSS locks. Когда я пытался разобраться с его реализацией и создать свои варианты, мне с трудом удавалось понять, что именно происходит. Я выполнил много вычислений и подумал, что полезно будет объяснить другим всю эту математику.

В статье я опишу саму методику, её ограничения и лежащую в её основе математику. Не волнуйтесь: там в основном одни сложения и вычитания. К тому же я постарался всё разбить на этапы и украсил их графиками.
Читать дальше →
Всего голосов 70: ↑66 и ↓4+62
Комментарии37

Все лучшее — в детях, или Как найти вдохновение

Время на прочтение17 мин
Количество просмотров6K


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

Поэтому мы стали экспериментировать. Решили зайти с понятной для нас тематикой — провели первенство по робототехнике. Годом раньше мы делали первый в РФ конкурс дронов для взрослых, поэтому решили двигаться по знакомой территории. Всё получилось: мы провели феерический день в обществе трехсот юных робототехников, и они, и мы, и учителя были довольны, появились единомышленники и фидбек. Стало легче работать: появилась игра «ИТ-проект» про разработку устройства голосования для инопланетян — сюжет фантастический, проектные задачи — реальные. Появились экспедиции на наши техплощадки, потом — инженерный мастер-класс с конструктором дата-центра и роботехнические хакатоны на «Ардуино», проект «Роболабы»…

Но главной работой в итоге стала «Школа IT-решений» — наше совместное детище с проектами И-КУБ и «Школа новых технологий». Это «школьный IT-проект», когда команды учеников, а с ними студенты-тьюторы и учителя собираются, чтобы делать что-то реально полезное в ИТ для школы. А мы помогаем процессу и приглашаем IT-экспертов из КРОК и наших друзей из других компаний — всех, кого вдохновляет идея поделиться сакральным знанием с боевыми ребятами. Здесь нас поддерживают наши партнёры – компании коллеги по отрасли…

Что уже делали дети? Делали систему автозаполнения документов для горячего питания (в школе была сложная многоходовка по передаче заявок на питание), делали чатбота, чтобы узнавать расписание в привычном интерфейсе «а что делать на завтра», и т.д. Одна конкретная задача — одно конкретное решение.

И начался забег по граблям. Появился специальный курс для студентов по проект-менеджменту, появились тренинги для детей по тестированию, проектированию интерфейсов и ещё много всего.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии0

Не наступайте на наши грабли с ТЗ: эпический опыт конкурсов и пара баек

Время на прочтение9 мин
Количество просмотров33K

Широко известный пример неточно поставленного ТЗ

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

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

Было сложно — не то слово. В длинном перелёте я читал ТЗ на 20 страниц. В нём была такая особенность: если читать его бегло, то может показаться, что оно написано правильно и точно. Но если начать копать в детали инженерной реализации, то всплывало сразу много нежданчиков. Некоторые требования подпунктов, вроде 3.2.5 и 4.8.2.9, могли противоречить друг другу или быть просто взаимно невыполнимыми в реальном мире.
Читать дальше →
Всего голосов 50: ↑44 и ↓6+38
Комментарии21

Всякие технологичные инфраструктурные игрушки для публичных мест — передаю привет Скайнету

Время на прочтение6 мин
Количество просмотров15K

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

Начнём с детектора драки. Задача вполне понятная: есть много процессоров и умных программистов, город покрыт камерами, нужно всего-то ничего — сделать так, чтобы как только кто-то начал драться, модераторам с резиновыми дубинками пришло сообщение. Дальше они «отмодерируют» уже по-старинке.

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

Но давайте не будем останавливаться на этой приятной ноте, а продолжим смотреть, что ещё есть в арсенале будущего Скайнета. Ну, или Большого Брата.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии17

Пара распространённых заблуждений про радиоканалы RFID и Wi-Fi (и RFID как точки Wi-Fi)

Время на прочтение7 мин
Количество просмотров43K

RFID-метка для пациентов, чтобы их было видно на карте больницы

— А можете каждому строителю чип в голову вшить?
— Теоретически да, но, может быть, объясните, зачем вам это нужно?
— Они у нас стройматериалы воруют. Прямо во время работ. А так каждого будет видно, куда он там зашёл, куда не надо.

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

А дальше каждый чёртов раз, когда я рассказываю про RFID-решение, люди начинают махать руками и путать эти метки с Wi-Fi, Bluetooth и пассивными резонирующими контурами. Одна из причин — некоторые RFID-метки действительно работают по Wi-Fi 802.11. Давайте расскажу, как это используется на практике в разных странах.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии73

LLVM: компилятор своими руками. Введение

Время на прочтение14 мин
Количество просмотров58K
Представим себе, что в один прекрасный день вам пришла в голову идея процессора собственной, ни на что не похожей архитектуры, и вам очень захотелось эту идею реализовать «в железе». К счастью, в этом нет ничего невозможного. Немного верилога, и вот ваша идея реализована. Вам уже снятся прекрасные сны про то, как Intel разорилась, Microsoft спешно переписывает Windows под вашу архитектуру, а Linux-сообщество уже написало под ваш микропроцессор свежую версию системы с весьма нескучными обоями.
Однако, для всего этого не хватает одной мелочи: компилятора!
Да, я знаю, что многие не считают наличие компилятора чем-то важным, считая, что все должны программировать строго на ассемблере. Если вы тоже так считаете, я не буду с вами спорить, просто не читайте дальше.
Если вы хотите, чтобы для вашей оригинальной архитектуры был доступен хотя бы язык С, прошу под кат.
В статье будет рассматриваться применение инфраструктуры компиляторов LLVM для построения собственных решений на её основе.
Область применения LLVM не ограничивается разработкой компиляторов для новых процессоров, инфраструктура компиляторов LLVM также может применяться для разработки компиляторов новых языков программирования, новых алгоритмов оптимизации и специфических инструментов статического анализа программного кода (поиск ошибок, сбор статистики и т.п.).
Например, вы можете использовать какой-то стандартный процессор (например, ARM) в сочетании с специализированным сопроцессором (например, матричный FPU), в этом случае вам может понадобиться модифицировать существующий компилятор для ARM так, чтобы он мог генерировать код для вашего FPU.
Также интересным применением LLVM может быть генерация исходных текстов на языке высокого уровня («перевод» с одного языка на другой). Например, можно написать генератор кода на Verilog по исходному коду на С.



КДПВ

Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии55
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Астрахань, Астраханская обл., Россия
Дата рождения
Зарегистрирован
Активность