Как научиться танцевать?
Инструкция на техническую тему, которая упростит жизнь разработчику.
Терминология (сначала можете пропустить)
Звуковая волна (звуковые колебания) — это передающиеся в пространстве механические колебания молекул вещества (например, воздуха). В результате каких-либо возмущений (например, колебаний диффузора громкоговорителя или гитарной струны), вызывающих движение и колебания воздуха в определенной точке пространства, возникает избыточное давление (поскольку воздух в процессе движения сжимается), толкающее окружающие слои воздуха. Эти слои тоже сжимаются, что, в свою очередь, снова создает избыточное давление, влияющее на соседние слои воздуха. Так, по цепочке, происходит передача первоначального возмущения в пространстве из одной точки в другую. Тело, создающее возмущение (колебания воздуха), называют источником звука. (Другое объяснение на вики)
Ритм — организация музыки во времени. Ритмическую структуру музыкального сочинения образует последовательность длительностей — звуков и пауз.
Интерференция — усиление колебаний звука в одних точках пространства и ослабление в других в результате наложения двух или нескольких звуковых волн. Когда мы слышим звуки разных, но достаточно близких частот сразу от двух источников, к нам приходят то гребни обеих звуковых волн, то гребень одной волны и впадина другой. В результате наложения двух волн звук то усиливается, то ослабевает, что воспринимается на слух как биения. (Другое объяснение на вики)
Стоячая волна — колебательный (волновой) процесс в распределенных колебательных системах с характерным устойчивым в пространстве расположением чередующихся максимумов (пучностей) и минимумов (узлов) амплитуды. Такой колебательный процесс возникает при интерференции нескольких когерентных волн.
С User Story нам поможет французский прозаик, поэт, джазовый музыкант и певец Борис Виан (цитата из романа “Пена дней”, перевод Л. Лунгиной):
На основе этой пользовательской истории мы перенесем опыт танца с партнером на одного человека, который прослушивает музыкальную композицию и хочет органично двигаться под нее.
Мы свяжем движения (танец) со звуковой волной от источника звука (напр. вибрации мембраны). Звуковая волна, создаваемая некоторым колеблющимся телом (мембраной), распространяясь в пространстве, может переносить энергию колебаний другому телу (резонатору, человеку), которое, поглощая эту энергию, начинает колебаться и фактически само становится источником звука (рождение танца). Колебаться можно любой частью тела. Это и есть танец.
Проще и понятней для большинства танцевать, ориентируясь на явно выраженный ритм и такт. Т.е. когда звуковая волна в пиках или повторяется.
Провизуализировать это можно зрительными образами для Winamp, что по сути является визуальным электронным танцем:
Позже, освоясь со звуком, и научившись получать удовольствие от синхронности своих и музыкальных волн, мы будем учиться двигаться. Ведь главными характеристиками танца являются: ритм — относительно быстрое или относительно медленное повторение и варьирование основных движений; рисунок — сочетание движений в композиции; динамика — варьирование размаха и напряженности движений; техника — степень владения телом и мастерство в выполнении основных па и позиций.
В визуализации нам поможет ныне закрытая игровая студия Lionhead Studios (игры Fable, Black & White), которая в далеком 2000 году сделала визуализацию для Winamp в виде медведя (можно скачать). Согласитесь, что если кодом можно научить танцевать медведя, то можно научить танцевать и разработчика!
Пример упрощенного кода, для базовой связки волн, рук и ног:
Надеюсь, моя инструкция была полезна и облегчит жизнь не только моему знакомому разработчику (который теперь программирует себе танец как боженька), но и множеству других разрабов. 2020 год - отличный год для старта подготовки к дискотеке!
А знаете ли вы?
- Феномен «захвата ритма», то есть способность улавливать ритм движения и следовать ему, присущ исключительно людям. По мнению норвежских ученых Аре Бреана и Гейра Скейе эта способность развилась на ранних этапах эволюции Homo Sapiens, как приспособительный механизм для увеличения скорости совместного движения.
- В индийской мифологии царь танца Натараджи (образ Шивы) во время своего мистического танца создает и разрушает Миры и Вселенные. Ритму ударов его стоп вторят колокольчики гунгру, надетые на голени. Танцуя, он задает ритм движения планетам, светилам и всему мирозданию.
Пример кода - это принцип программирования мозга разработчика для обучения танцу. Совсем забыл об этом написать.