• ↓
  • ↑
  • ⇑
 
Записи с темой: программирование (список заголовков)
20:35 

La Music Le Wave La Programm

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

00 - 1 with 1/1 next to 49/50
01 - 0,943874312681693 with 17/18 next to 33/35
02 - 0,890898718140339 with 41/46 next to 33/37
03 - 0,840896415253715 with 37/44 next to 21/25
04 - 0,7937005259841 with 27/34 next to 23/29
05 - 0,749153538438341 with 3/4 next to 35/47
06 - 0,707106781186548 with 29/41 next to 12/17
07 - 0,667419927085017 with 2/3 next to 33/49
08 - 0,629960524947437 with 17/27 next to 29/46
09 - 0,594603557501361 with 22/37 next to 25/42
10 - 0,561231024154687 with 23/41 next to 14/25
11 - 0,529731547179648 with 9/17 next to 26/49
12 - 0,5 with 1/2 next to 24/49

Как можно видеть,
02 - близко к 9/10 (хотя в таблице есть более точное отношение, но оно не такое "красивое")
05 - впритык к 3/4
07 - впритык к 2/3

У 07 уж совсем красивое отношение, причём раз уж 7 и 12 взаимо простые числа, а шкала - эспоненциальная (т.е. 05/07 ~= 00/02), то отношениями может быть заполнена вся шкала. Следующий шаг - подобрать к каждой ноте список ближайших "удобных" нот, а также наборы нот с красивыми взаимными отношениями (метрика N-мерного пространства, здравствуй) - а там уже смотреть что получилось, и нет ли чего-либо интересного.

Хотя я тут смухлевал, конечно, сходу взять 12-тонный ряд, изобретённый в средние века, хотя тринькали на лютнях с начала времён. Это тоже в "TO DO LIST".

@музыка: Dub tribute to Maho Shojo Madoka Magica

@темы: музыка, программирование, теория струн

03:37 

Salvation in Solution или "Как я начал писать игру мечты на F#"

Напишу что-нибудь, пожалуй. Раз уж настроение нет никакого - то унылость цедить будет ещё более скучно. Так что в напишу движок для своей супер-мега RPG из своей мечты. Разумеется, движок можно будет использовать как для убийцы всех существующих ММО, так и для рогалика-поделки-на-коленке. Масштабируемый. Практичный. Универсальный.

Имя для очередного сэндбокса придумать довольно сложно: DreamGame уже есть, а другое в голову не лезет. Пускай будет Solution.

Да, консольное приложение на F# (потом если выгорит переделаю во что-нибудь более удобоваримое "под винду"). Раз уж дневник могут читать все, то буду даже чего-нибудь объяснять по ходу, хотя пишу "для себя", и про программирование, и про функциональщину, и про философию, и про т.д.

F# - (ЭфШарп или ФиШарп) - функциональный язык программирования, но пока не буду вдаваться в детали и изотерику (везде функции, данные - функции, мир - функция, и я - функция, и ты - функция). Программа - это функция (словарь синонимов рыдает, но тут уже технические подробности, без чётких терминов не обойтись), которая что-то вычисляет. А раз компьютеры - электронные и основанные на байтиках, то программа по сути вычисляет некое число. Хотя результат нам сейчас не столь важен - важен процесс, когда на экране очередной монстр захлёбывается собственной кровью. А программирование - это, по сути, конструирование процесса вычисления. Но, ближе к делу: ...
Ах да, есть ещё такие понятия как декларативность и иммутабельность - тоже интересные вещи, но если их (и всё, что из них следует и от них зависит) расписывать, то до самой мякотки можно и не добраться, хотя вещи и интересные. Если в кратце: "обычные" программы императивны и мутабельны, то есть если алгоритм писать человеческим языком, то получится как-то так "вот перегоревшая лампочка. выкручивай её. а вот новая лампочка. после этого бери её. а затем вкручиывай". Есть последовательность во времени, объекты меняются во время операций. В нашем же случае должно выглядеть как-то так: "Нам нужна закрученная лампочка в гнезде, где старая выкручена". Если повертеть фразы, в принципе, то же самое. Ладно, что-то я совсем в детсад ударился.

БОЛЬШЕ МЕДЛИТЬ БЫЛО НЕЛЬЗЯ!
читать дальше

@музыка: Шанс!

@настроение: поклонницы, где вы?

@темы: .NET, F#, gamedev, программирование

Во Сне и Наяву

главная