Pull to refresh
4
0
Юрий Наконечный @Inobelar

C++ Developer

Send message

Что наука знает о красоте: 13 научных исследований для создания привлекательного персонажа

Level of difficultyMedium
Reading time11 min
Views21K


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

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

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

Я веду ламповый Telegram-канал GameDEVils и блог на Substack . Заглядывайте в гости, я делюсь там материалами про геймдизайн, разработку и историю игр ^__^

Красота биологически важна для человека


И если бы меня попросили назвать только одно «почему», которое чаще всего называют ученые, то после чтения пары десятков исследований, я бы сказала: «красивое» — скорее всего здоровое.
Читать дальше →
Total votes 89: ↑84 and ↓5+79
Comments67

Как выбрать оптимальный способ соединения деталей в пластиковых корпусах

Reading time5 min
Views15K

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

Читать и смотреть картинки
Total votes 64: ↑64 and ↓0+64
Comments31

Система противораскачивания груза (Anti-Sway Control)

Level of difficultyMedium
Reading time10 min
Views4.8K

В сфере грузоподъемной техники система противораскачивания довольно популярная и полезная штука. Эта система полезна тем, что, к примеру, оператор крана не обязан корректировать движение крана самостоятельно, чтобы не происходило раскачивание груза и не было рисков возникновения аварийных ситуаций. Многие производители предлагают свои системы на базе ПЛК (программируемых промышленных контроллеров) либо на базе ПЧ (преобразователей частоты). Мы в нашем инженерном центре тоже решили не стоять в стороне и делать свою систему. Погружение в теорию привело нас к пространству состояний. Таким образом целью статьи является рассказать, как возможно решить задачу противораскачивания груза в пространстве состояний.

Читать далее
Total votes 32: ↑32 and ↓0+32
Comments86

Всё про USB-C: ответ через протокол PD

Level of difficultyMedium
Reading time9 min
Views7.7K

В последней статье мы настроили FUSB302 на получение сообщений USB PD и успешно получили «оповещение о возможностях» от БП с USB-C. В этой же статье мы обратимся к спецификации PD, спарсим сообщение, после чего создадим ответ, который заставит БП подать максимально возможное напряжение.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments4

Стохастический язык программирования на основе алгоритмов Маркова

Reading time13 min
Views26K

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →
Total votes 139: ↑139 and ↓0+139
Comments24

Разбираем bluetooth протокол RGB лампы

Level of difficultyEasy
Reading time8 min
Views8K

В данной статье рассмотрим опыт реверс-инжиниринга bluetooth протокола, при помощи которого android приложение управляет цветами и эффектами работы закатной лампы. В результате будет написан небольшой генератор шфированных AES'ом сообщений на C#.

Читать далее
Total votes 62: ↑62 and ↓0+62
Comments8

Джон Кармак взялся за сильный ИИ — и у него особый подход. Список фундаментальной литературы для начала

Level of difficultyMedium
Reading time7 min
Views35K

В рубрике «Выдающиеся программисты 21 века» уже была статья про гения программирования Джона Кармака, создателя движков для Doom, Quake и других культовых игр. Потом он занялся разработкой ракет (они в Armadillo Aerospace реализовали вертикальную посадку раньше SpaceX), а затем — систем VR, софта для Oculus Rift и других устройств. Сейчас началась четвёртая фаза в его карьере.

В интервью изданию Dallas Innovates 52-летний Кармак рассказал о новом проекте — системе сильного ИИ (AGI), над которым он работает самостоятельно, без участия больших корпораций, как отшельник в своём особняке в Далласе.

Сильный ИИ общего назначения не будет уступать среднему человеку в понимании происходящего и решении проблем. По оценке Кармака, с вероятностью 60% такая система (альфа-версия) будет создана до 2030 года, с вероятностью 95% — до 2050 года. Это самая важная и интересная задача, которая сейчас стоит перед человечеством.
Читать дальше →
Total votes 99: ↑96 and ↓3+93
Comments94

Мы обнаружили в GPT-2 нейрон конкретного токена

Reading time10 min
Views15K

Мы начали с вопроса: откуда GPT-2 знает, когда использовать слово an, а не a? Выбор зависит от того, начинается ли следующее за ним слово с гласной, однако GPT-2 может прогнозировать только одно слово за раз.

У нас по-прежнему нет полного ответа, однако мы нашли нейрон MLP в GPT-2 Large, который необходим для прогнозирования токена " an". Также мы выяснили, что веса этого нейрона соотносятся с эмбеддингом токена " an", что позволило нам найти другие нейроны, прогнозирующие конкретный токен.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments6

Безграничные возможности FFmpeg на примерах

Level of difficultyEasy
Reading time12 min
Views46K

FFmpeg — швейцарский нож для мультимедиа. Совершенно незаменимая программа, которую использует в повседневной жизни почти каждый, даже не зная об этом. Например, вы сняли видео и заливаете на видеохостинг — оно перекодируется и публикуется уже в другом разрешении/формате/размере. Как вы думаете, какая программа выполнила транскодирование? Вполне возможно, что под капотом на сервере работает FFmpeg.

FFmpeg объединяет более 300 видео/аудио/графических кодеков, декордеров, муксеров, демуксеров и фильтров. Благодаря ему вы можете написать собственный видеоплеер в тысячу строчек кода, не разбираясь с кишочками видеообработки.

Это «движок» почти всех современных инструментов для обработки/сжатия/редактирования видео. Они просто предлагают графический интерфейс с кнопками, а ffmpeg делает реальную работу.
Читать дальше →
Total votes 133: ↑130 and ↓3+127
Comments84

10 удивительно зрелищных простейших клеточных автоматов

Level of difficultyEasy
Reading time5 min
Views30K

Самое простое представление двумерного клеточного автомата основано на двух характеристиках: клетки имеют всего 2 состояния; правила изменения состояния зависят только от количества живых соседей из окрестности Мура первого порядка (8 окружающих).

Такая категория КА называется «Life-like», по названию самого известного автомата с такими характеристиками – «Conway's Game of Life». Игра «Жизнь» Конвея работает на правиле B3/S23, т.е. для рождения клетки требуется ровно 3 живых соседа, для выживания – 2 или 3. Во всех других случаях клетка умирает (или же остаётся пустой).

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

Сегодня взглянем на самых интересных представителей.

👾
Total votes 158: ↑158 and ↓0+158
Comments24

Создание модуля WebAssembly с помощью Emscripten, AssemblyScript и Rust

Level of difficultyMedium
Reading time57 min
Views5.2K

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

Emscripten для компиляции кода, написанного на С++

AssemblyScript для компиляции кода, написанного на, собственно, AssemblyScript

wasm-pack для компиляции кода, написанного на Rust

План такой:

Во введении мы обсудим постановку задачи и немножко поговорим о технологии WebAssembly

В программной части мы реализуем функциональность модуля на трёх языках: c++, AssemblyScript и Rust. Поговорим о том, какие при этом возникают сложности и как их можно обойти

Подведём небольшой итог. Станет видно, какая технология хорошая, а какая не очень

В конце планируется два бонуса. Первый бонус - это пример простого web-приложения, использующего один из скомпилированных нами модулей. Второй бонус - демонстрация того, как этот модуль можно использовать в программе на Python.

Читать далее
Total votes 36: ↑36 and ↓0+36
Comments10

Идеальное рабочее место программиста. История. Часть 3. Положение рук

Reading time8 min
Views16K

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

Разберём особенности положений тела при работе полулежа и лежа. Расскажу про два совершенно разных подхода и их реализацию в существующих рабочих станциях, подсвечу достоинства и недостатки. Объясню, какой вариант выбрал я и почему.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments63

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

Reading time17 min
Views10K

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

Читать далее
Total votes 69: ↑52 and ↓17+35
Comments55

Bittorrent с нуля на Go

Reading time15 min
Views21K


BitTorrent — протокол загрузки и распространения файлов через Интернет. В отличие от традиционных отношений клиент/сервер, когда загрузчики подключаются к центральному серверу (например, для просмотра фильма на Netflix или загрузки веб-страницы), участники сети BitTorrent, называемые одноранговыми узлами, загружают фрагменты файлов друг с друга. Это то, что делает BitTorrent одноранговым протоколом. Исследуем, как он работает, и создадим собственный клиент, который сможет находить одноранговые узлы и обмениваться с ними данными.

Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments9

Искусственные и биологические нейронные сети

Level of difficultyMedium
Reading time20 min
Views9K

Это можно сравнить с поиском Священного грааля, поиск алгоритма, по которому работают биологические нейронные сети. Конечно многие скажут, что никакого грааля не существует, это всё легенды, и в искусственных нейронных сетях уже всё реализовано, осталось дождаться развития этой технологии, вычислительных ресурсов и... и всё — настоящий искусственный интеллект будет создан. А, разбираться в сложном и запутанном органе для этих целей нет необходимости. Но, надеюсь есть добрая доля искателей приключений, которым будет интересны некоторые рассуждения где стоит искать этот “Священный грааль”. В статье мы проанализируем и сравним работу искусственных нейронных сетей с гипотезами о том, как работают биологические нейронные сети, и конечно, сопроводим это практическими опытами, разберем новую искусственную нейронную сеть, которая по своему принципу работы ближе к биологическому аналогу.

Читать далее
Total votes 15: ↑15 and ↓0+15
Comments14

Создание изображений с использованием генеративно-состязательных нейронных сетей (GAN) на примере ЭКГ

Reading time6 min
Views18K

Для создания изображений с помощью GAN я буду использовать Tensorflow.

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

Как работают GAN?

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

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

Зачем генерировать изображение ЭКГ?

Я создал проект coronarography.ai . В нем на вход подается изображение ЭКГ, а на выходе мы получаем наличие патологии магистральных артерий сердца. Мне стало интересно проверить принципиальную возможность генерации изображений ЭКГ и сравнить полученные изображения с реальными.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments4

Темная тема = шрифтовой ад / Решение

Reading time3 min
Views8.5K

В предыдущей статье я подробно разобрал проблемы связанные со шрифтами для темной темы и причины их актуальности. В данном материале смотрим на то, какие есть решения и что предлагает индустрия. + figma файл с адаптированным мной под темную тему стандартным текстовым набором стилей Material Design для Roboto.

Читать далее
Total votes 34: ↑33 and ↓1+32
Comments4

Information

Rating
Does not participate
Location
Украина
Registered
Activity