«Галоп пикселя — часть пятая» — Анимация персонажей. Ходьба

Автор: admin от 25-03-2019, 21:20, посмотрело: 35

«Галоп пикселя — часть пятая» — Анимация персонажей. Ходьба


«Галоп пикселя» — часть 1 (линк)

«Галоп пикселя» — часть 2 (линк)

«Галоп пикселя» — часть 3 (линк)

«Галоп пикселя» — часть 4 (линк)

«Галоп пикселя» — часть 5 (линк)



Доброго времени суток Хабр. Мы продолжаем цикл «Галоп Пикселя». Сейчас, находясь на старте 2019 года, можно с уверенностью говорить, что это не только цикл статей, но и многолетняя сага. Пространное повествование о пикселях, их жизни, способе их создания, приёмах и уловках в работе с ними. Мы не будем рассуждать о причинах первоначального «спринта», который затем превратился в многолетний марафон, ибо нет ничего более жизненного, чем сама жизнь. Кому нужны причины отсутствия или пауз, если можно просто вернуться к тому, что мы делали, в чём варились, и в чём, даст бог — будем наблюдаться и далее. В пикселях, конечно же!



Сегодняшняя публикация станет очередной, и возможно даже поворотной вехой в нашем повествовании. Наконец-то мы подошли к созданию полноценной анимации персонажей. Двумя предыдущими главами мы охватили анимацию света и тени, а также анимацию неподвижных персонажей (idle-animation) без ярко выраженных действий. Но сегодня наши персонажи пойдут, а в следующей части даже побегут, завоевав то, что уже давно их по праву рождения. Ещё один плодородный регион. И пройдут ещё одну точку, которая ознаменует окончание базового цикла. Наши пиксели наконец-то станут живыми.



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



«Галоп пикселя — часть пятая» — Анимация персонажей. Ходьба Лопатить пиксели

Категория: Game Development

 

Оптимизация конструкции методами теории автоматического управления

Автор: admin от 25-03-2019, 20:35, посмотрело: 33

В предыдущей статье "Скрещивание ужа и ежа.." мы проверяли применимость методов настройки систем автоматического управления к «реальным» моделям. В это статье попробуем оптимизировать не систему управления, а сам «физический» объект.



Оптимизация конструкции методами теории автоматического управления


Для настройки регуляторов существует большое количество средств, методик и обеспечивающих оптимизацию законов регулирования. Если мы используем средства моделирования (типа Matlab Simulink), то можно сразу посмотреть на процесс оптимального управления непосредственно «вживую», на графиках. Возникает вопрос, если у нас есть метод для оптимизации параметров системы управления, можно ли оптимизировать не коэффициенты ПИД регулятора, а сам объект управления? Другими словами, не подбирать регуляторы для явно неудачной системы, а подобрать параметры самой системы. Ведь для компьютерной модели что коэффициенты ПИД, что размеры конструкции – это просто переменные, которые можно менять.

Категория: Программирование

 

Улучшенный sandboxing для Groovy скриптов

Автор: admin от 25-03-2019, 20:35, посмотрело: 27

Улучшенный sandboxing для Groovy скриптов

От переводчика: При разработке CUBA Platform мы заложили в этот фреймворк возможность исполнения пользовательских скриптов для более гибкой настройки бизнес-логики приложений. О том, хороша или плоха эта возможность (и мы говорим не только о CUBA), ведутся долгие споры, но то, что контроль исполнения пользовательских сценариев необходим — это ни у кого не вызывает вопросов. Одна из полезных возможностей Groovy для управления исполнением пользовательских скриптов представлена в этом переводе статьи Cedric Champeau. Несмотря на то, что он недавно? покинул команду разработки Groovy, сообщество программистов, по видимому, еще долгое время будем пользоваться плодами его трудов.



Один из наиболее часто используемых способов использования Groovy — это скриптинг, поскольку Groovy позволяет легко исполнять код динамически, в рантайме. В зависимости от приложения, скрипты могут находиться в различных местах: файловой системе, БД, удаленных сервисах… но самое важное — разработчик приложения, исполняющего скрипты, не обязательно сам их пишет. Более того, скрипты могут работать в ограниченном окружении (ограниченный объем памяти, лимит на количество дескрипторов файлов, время исполнения…), или вы можете захотеть запретить пользователю использовать все возможности языка в скрипте.



Этот пост вам расскажет




  • почему Groovy хорошо подходит для написания внутренних DSL

  • каковы его возможности в плане безопасности вашего приложения

  • как настроить компиляцию для улучшения DSL

  • о значении SecureASTCustomizer

  • о расширениях для контроля типов

  • как использовать расширения для контроля типов, чтобы sandboxing был эффективным

Категория: Программирование

 

“Extreme NOW Forum 2019”: регистрация открыта

Автор: admin от 25-03-2019, 20:35, посмотрело: 40

Привет, хабровчане!



11 апреля 2019 года в рамках всемирного тура “Extreme NOW Forum 2019” будет проходить форум компании Extreme Networks под названием «Билет в цифровую реальность». Мы рады пригласить всех наших партнеров и клиентов на мероприятие, которое проходит уже шестой год подряд.



“Extreme NOW Forum 2019”: регистрация открыта

Категория: Программирование

 

Подножка для мозга: платформа распределенного реестра Hedera Hashgraph

Автор: admin от 25-03-2019, 20:30, посмотрело: 22

Подножка для мозга: платформа распределенного реестра Hedera Hashgraph


Алгоритм консенсуса, асинхронная толерантность к необъяснимым ошибкам, ориентированный ациклический граф, распределенный реестр — о том, что объединяет эти понятия, и как не вывихнуть себе мозг — в статье о Hedera Hashgraph.

Категория: Linux

 

Роскосмос приступил к разработке беспилотного трамвая

Автор: admin от 25-03-2019, 20:30, посмотрело: 30

Роскосмос приступил к разработке беспилотного трамвая
Беспилотный трамвай производства «ПК Транспортные системы» и Cognitive Technologies испытывают на площадке депо имени Баумана, Москва



Объединенная ракетно-космическая корпорация (ОРКК), которая входит в структуру Роскосмоса, совместно с компанией «Инвитро» рассматривают проект беспилотного медицинского трамвая, рассказал гендиректор Роскосмоса Дмитрий Рогозин. Трамвай не только будет передвигаться по маршруту без водителя, но пассажиры смогут пройти в трамвае «минимальное медицинское обслуживание». Производство машин планируют на мощностях Усть-Катавского вагонного завода (УКВЗ, Челябинская область).

Категория: Linux

 

И снова о втором мониторе из планшета…

Автор: admin от 25-03-2019, 20:30, посмотрело: 37

Оказавшись обладателем среднего такого планшета с нерабочим сенсором (старшенький сынуля постарался) долго думал, куда приспособить. Гуглил, гуглил и нагуглил (раз, два, Хакер №227), а так же много других рецептов с участием spacedesk, iDispla и некоторых других. Вот только незадача — у меня Linux. Погуглив ещё, я нашел несколько рецептов и путем несложного шаманства получил приемлемый результат.



И снова о втором мониторе из планшета…

Категория: Гаджеты, Linux

 

Опыт применения Coroutines и Retrofit2

Автор: admin от 25-03-2019, 18:10, посмотрело: 27

Что это?



Кто еще не читал документацию — настоятельно рекомендую к ознакомлению.



Что пишет джетбрейнс:



Сопрограммы упрощают асинхронное программирование, оставив все осложнения внутри библиотек. Логика программы может быть выражена последовательно в сопрограммах, а базовая библиотека будет её реализовывать асинхронно для нас. Библиотека может обернуть соответствующие части кода пользователя в обратные вызовы (callbacks), подписывающиеся на соответствующие события, и диспетчировать исполнение на различные потоки (или даже на разные машины!). Код при этом останется столь же простой, как если бы исполнялся строго последовательно.

Если говорить простыми словами — это библиотека для синхронного асинхронного выполнения кода.



Зачем?



Потому что RxJava уже не в моде (шутка).



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

Продолжить

Категория: Android

 

Как создать игру, если ты ни разу не художник

Автор: admin от 25-03-2019, 17:20, посмотрело: 28

Как создать игру, если ты ни разу не художник


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



И не надо…

Категория: Веб-разработка, Android

 

Quick Draw Doodle Recognition: как подружить R, C++ и нейросетки

Автор: admin от 25-03-2019, 17:10, посмотрело: 25

Quick Draw Doodle Recognition: как подружить R, C++ и нейросетки


Привет, Хабр!



Осенью прошлого года на Kaggle проходил конкурс по классификации нарисованных от руки картинок Quick Draw Doodle Recognition, в котором среди прочих поучаствовала команда R-щиков в составе Артема Клевцова, Филиппа Управителева и Андрея Огурцова. Подробно описывать соревнование не будем, это уже сделано в недавней публикации.



С фармом медалек в этот раз не сложилось, но было получено много ценного опыта, поэтому о ряде наиболее интересных и полезных на Кагле и в повседневной работе вещей хотелось бы рассказать сообществу. Среди рассмотренных тем: нелегкая жизнь без OpenCV, парсинг JSON-ов (на этих примерах рассматривается интеграции кода на С++ в скрипты или пакеты на R посредством Rcpp), параметризация скриптов и докеризация итогового решения. Весь код из сообщения в пригодном для запуска виде доступен в репозитории.



Содержание:




  • Эффективная загрузка данных из CSV в базу MonetDB

  • Подготовка батчей

  • Итераторы для выгрузки батчей из БД

  • Выбор архитектуры модели

  • Параметризация скриптов

  • Докеризация скриптов

  • Использование нескольких GPU в облаке Google Cloud

  • Вместо заключения
  • Категория: Программирование

     
    Назад Вперед