Поредицата “Coding Druid” е моите практически бележки за хоризонтално програмиране, всяка част около тема като математика, физика, електроника, графики, звук и т.н., реализирани на няколко езика за програмиране .

Coding Druid
Част: Математика
Глава: Серии на Фурие
Секция : Javascript (React)

В предишната глава визуализирах тригонометрична функция (синус и единична окръжност) отделно с помощта на MaxMSP, JavaScript (React), Python и Unity:

В тази глава прилагам визуализация на кривата на серия на Фурие.
И започнете с JavaScriptи React този раздел.

Математика

В математиката редът на Фурие е периодична функция, съставена от хармонично свързани синусоиди, комбинирани от претеглено сумиране.
(wikipedia)

И може да се обясни като изразяване на повтаряща се крива като сбор от синусовидни криви. (Поредица Purrier (Мяу) и каране на изображенията да говорят)

Да предположим например, че има квадратна вълна и тя може да се интерпретира като синусоида:

Колкото повече синусоиди имате, толкова по-прецизна квадратна вълна ще получите.

Сега нека видим процеса на разширение в ред на Фурие.

Да приемем, че f(x) е периодична функция за x∈[−π,π], а периодът му е 2π.
Изразът му:

Тогава неговият тригонометричен израз на ред на Фурие (синус-косинус форма) е като:

И коефициентите на Фурие на f(x)f(x) са:

Накрая:

Съдържанието по-горе се отнася до „Математика за напреднали — (Инженерен курс) (том 2)“

И оригиналната дефиниция на реда на Фурие и подробното обяснение ще бъдат намерени в wikipedia.

Суми от дължините на първите четири термина и показващи как се прави приближението до квадратна вълна:

Визуализация

Сега да визуализирам тази крива с помощта на React.
Разклоних и преработих синусова визуализация:

Ще направя нещата на Фурие въз основа на горния код.

Наистина е ясно да пишете код с помощта на React:

Все още използвайте React Hooks, за да актуализирате данните, обвързани с компоненти:

Крайна крива:

С увеличаването на n, т.е. синусоидата се увеличава, синтезираната форма на вълната се доближава до квадратната вълна.

Препратки

Разговорите са евтини. Покажете ми кода!

Тази демонстрация и поредицата Coding Druid са с отворен код тук:
https://github.com/avantcontra/coding-druid

Можете да намерите повече ресурси в моя сайт floatbug.com.

Можете да ми купите кафе в моя Patreon. Там има много статии, корекции, изходен код и някои разширено съдържание само за поддръжници.

Също така можете да получите някои безплатнипачове/кодове в Gumroad shop.

Вашето насърчение е моята движеща енергия!

Наздраве ~

Контра