|
|
@@ -39,4 +39,28 @@
|
|
|
- Кнопка добавления нелинейного искажения (Клиппинга).
|
|
|
- Кнопка «Сбросить все».
|
|
|
3. **Правая верхняя панель (Сумма колебаний):** Текстовое описание теоремы Фурье и график результирующего (сложного) колебания, полученного путем сложения волн из вкладок V1, V2 и V3. При активации клиппинга график должен обрезать пики по оси Y.
|
|
|
-4. **Правая нижняя панель (Амплитудно-частотный спектр):** Столбчатая диаграмма частот. При включении нелинейного преобразования должны программно отрисовываться дополнительные (паразитные) гармоники.
|
|
|
+4. **Правая нижняя панель (Амплитудно-частотный спектр):** Столбчатая диаграмма частот. При включении нелинейного преобразования должны программно отрисовываться дополнительные (паразитные) гармоники.
|
|
|
+
|
|
|
+# 1.2: Интерактивная модель Фурье
|
|
|
+
|
|
|
+## 1. Назначение и стек технологий
|
|
|
+* **Тип:** Одностраничное PWA приложение.
|
|
|
+* **Стек:** HTML5, CSS3 (CSS Variables, Flexbox, Grid), JavaScript (Canvas API, Web Audio API). Без фреймворков.
|
|
|
+* **Цель:** Изучение сложения механических волн, теоремы Фурье, спектрограмм и нелинейных искажений (клиппинга).
|
|
|
+
|
|
|
+## 2. Архитектура интерфейса (UI/UX)
|
|
|
+Приложение состоит из 5 основных блоков:
|
|
|
+1. **Плавающее меню кастомизации (Top Bar):**
|
|
|
+ - Переключение предустановленных тем (Базовая, Темная, Неон).
|
|
|
+ - Загрузка пользовательского фонового изображения из файловой системы.
|
|
|
+ - Применение графических фильтров к фону (Размытие, Ч/Б, Сепия, Инверсия) через `backdrop-filter`.
|
|
|
+2. **Панель 1 (Левый верх):** Визуализация базового гармонического колебания на Canvas.
|
|
|
+3. **Панель 2 (Левый низ):** Панель управления. Ползунки `range` для настройки частоты (до 20 кГц) и амплитуды. Система вкладок (V1, V2, V3).
|
|
|
+4. **Панель 3 (Правый верх):** График сложного колебания (сумма гармоник).
|
|
|
+5. **Панель 4 (Правый низ):** Амплитудно-частотный спектр с отрисовкой паразитных гармоник.
|
|
|
+
|
|
|
+## 3. Требования к интерактивному аудио (UI Audio)
|
|
|
+Помимо основного физического звука, интерфейс должен иметь звуковой отклик:
|
|
|
+* **Кнопки:** Короткие синтезированные звуки (beep) при нажатии и наведении (hover). Звук подтверждения действия и звук ошибки/сброса.
|
|
|
+* **Ползунки (Range):** Динамическое изменение тональности UI-звука при перетаскивании ползунка (частота звука зависит от текущего значения `value` ползунка).
|
|
|
+* **Реализация:** Отдельный независимый экземпляр `AudioContext`, чтобы системные звуки интерфейса не смешивались с физической демонстрацией частот.
|