From b5c224d7f5dc876775eab88cec15d175c5706f6a Mon Sep 17 00:00:00 2001 From: Maxim Dolgolyov Date: Fri, 29 May 2026 19:10:17 +0300 Subject: [PATCH] =?UTF-8?q?feat(phys11=20ch5):=20Wave=209=20=E2=80=94=20?= =?UTF-8?q?=D0=93=D0=BB=D0=B0=D0=B2=D0=B0=205=20=C2=AB=D0=A4=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=BD=D1=8B.=20=D0=94=D0=B5=D0=B9=D1=81=D1=82=D0=B2?= =?UTF-8?q?=D0=B8=D1=8F=20=D1=81=D0=B2=D0=B5=D1=82=D0=B0=C2=BB=20(=C2=A727?= =?UTF-8?q?-=C2=A729=20+=20=D0=A4=D0=B8=D0=BD=D0=B0=D0=BB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - phys-fx.js: PHYS.PhotoeffectLab (катод+свет+анод+амперметр), PHYS.PlanckLinear (график Eк,max от ν) - ch5 — розовая тема (--pri:#ec4899), watermark hν/A/λ/★ - §27: кризис АЧТ, гипотеза Планка E=hν (1900), открытие ф/э (Герц, Столетов), 3 закона - §28: фотон, уравнение Эйнштейна hν=A+Eк, работа выхода, красная граница - §29: импульс фотона p=hν/c, давление света, опыт Лебедева (1900), КВ-дуализм, де Бройль λ=h/p - 6 квизов + 3 босса (b1-b3) - Финал: 3 интегральных босса (fb1-fb3), +150 XP бонус, ачивка ch5_master --- frontend/js/phys-fx.js | 183 +++++ frontend/textbooks/physics_11_ch5.html | 991 ++++++++++++++++++++++--- 2 files changed, 1072 insertions(+), 102 deletions(-) diff --git a/frontend/js/phys-fx.js b/frontend/js/phys-fx.js index e11e36b..f2d6779 100644 --- a/frontend/js/phys-fx.js +++ b/frontend/js/phys-fx.js @@ -1732,4 +1732,187 @@ class LengthContraction { } P.LengthContraction = LengthContraction; +/* ============================================================ */ +/* PhotoeffectLab — катод, свет, цепь, амперметр */ +/* ============================================================ */ + +class PhotoeffectLab { + constructor(container, opts){ + opts = opts || {}; + this.el = (typeof container === 'string') ? document.querySelector(container) : container; + this.W = opts.width || 580; + this.H = opts.height || 280; + this.nu = opts.nu !== undefined ? opts.nu : 8e14; /* Гц */ + this.nu0 = opts.nu0 !== undefined ? opts.nu0 : 5.5e14; /* красная граница */ + this.U = opts.U !== undefined ? opts.U : 0; /* В, тормозящее < 0 */ + this.phase = 0; + this.paused = false; + util.subscribe(this); + util.observe(this); + this._render(); + } + setNu(v){ this.nu = v; } + setNu0(v){ this.nu0 = v; } + setU(v){ this.U = v; } + /* Кинетическая энергия фотоэлектронов: hν - A (А = hν₀) */ + ekMax(){ + const h = 6.63e-34; + return Math.max(0, h * (this.nu - this.nu0)); + } + /* Электроны летят, если их Eк больше тормозящего eU */ + flying(){ + const e = 1.6e-19; + return this.nu > this.nu0 && this.ekMax() > e * Math.max(0, -this.U); + } + update(dt){ this.phase += dt * 4; } + render(){ + if (!this.el) return; + const W = this.W, H = this.H; + let svg = util.svgFrame(W, H, {bg:'#fef3c7'}); + /* Лампа-источник */ + const lx = 50, ly = 60; + svg += ''; + svg += ''; + /* Луч света — цвет зависит от ν: 4e14 (красн) до 1e15 (фиолет) */ + const nuRel = Math.max(0, Math.min(1, (this.nu - 4e14) / 6e14)); + const lightColor = `rgb(${Math.round(255*(1-nuRel))},${Math.round(80+120*(1-Math.abs(nuRel-0.5)*2))},${Math.round(255*nuRel)})`; + for (let i = 0; i < 6; i++){ + const yo = (this.phase * 30 + i * 22) % 120; + svg += ''; + } + /* Катод */ + const cx = 180, cyy = 140; + svg += ''; + svg += 'катод (-)'; + /* Анод */ + const ax = 380; + svg += ''; + svg += 'анод (' + (this.U >= 0 ? '+' : '-') + ')'; + /* Стеклянный баллон */ + svg += ''; + /* Электроны летят */ + if (this.flying()){ + for (let i = 0; i < 5; i++){ + const t = ((this.phase * 0.7) + i * 0.2) % 1; + const ex = cx + 14 + t * (ax - cx - 14); + const ey = cyy + Math.sin(t * 6 + i) * 8; + svg += ''; + svg += 'e'; + } + } + /* Цепь — снизу */ + svg += ''; + svg += ''; + svg += ''; + /* Амперметр */ + const amx = (cx + ax) / 2 + 7, amy = H - 30; + svg += ''; + svg += 'A'; + /* Стрелка тока */ + if (this.flying()){ + svg += 'I > 0'; + } else { + svg += 'I = 0'; + } + /* Подписи */ + const h = 6.63e-34, e_ch = 1.6e-19; + const Em = this.ekMax(); + const Aevh = h * this.nu0 / e_ch; + svg += 'hν = A + Eк'; + svg += 'ν = ' + (this.nu / 1e14).toFixed(2) + '·10¹⁴ Гц'; + svg += 'ν₀ = ' + (this.nu0 / 1e14).toFixed(2) + '·10¹⁴ Гц'; + svg += 'A = ' + Aevh.toFixed(2) + ' эВ'; + svg += 'Eк,max = ' + (Em/e_ch).toFixed(2) + ' эВ'; + svg += 'U = ' + this.U.toFixed(2) + ' В'; + svg += ''; + this.el.innerHTML = svg; + } + _render(){ this.render(); } +} +P.PhotoeffectLab = PhotoeffectLab; + +/* ============================================================ */ +/* PlanckLinear — график Eк,max от ν */ +/* ============================================================ */ + +class PlanckLinear { + constructor(container, opts){ + opts = opts || {}; + this.el = (typeof container === 'string') ? document.querySelector(container) : container; + this.W = opts.width || 560; + this.H = opts.height || 280; + this.nu0 = opts.nu0 !== undefined ? opts.nu0 : 5e14; + this.nu = opts.nu !== undefined ? opts.nu : 8e14; + this.paused = true; + this.render(); + } + setNu0(v){ this.nu0 = v; this.render(); } + setNu(v){ this.nu = v; this.render(); } + update(){} + render(){ + if (!this.el) return; + const W = this.W, H = this.H; + const pad = 50; + const left = pad, right = W - pad - 80, top = 30, bot = H - 50; + const numax = 12e14; + const h = 6.63e-34, e_ch = 1.6e-19; + const eMaxEV = h * (numax - this.nu0) / e_ch; + let svg = util.svgFrame(W, H, {bg:'#fdf2f8'}); + /* Сетка */ + svg += ''; + for (let i = 0; i <= 12; i++){ + const x = left + i * (right - left) / 12; + svg += ''; + } + for (let i = 0; i <= 6; i++){ + const y = top + i * (bot - top) / 6; + svg += ''; + } + svg += ''; + /* Оси */ + svg += ''; + svg += ''; + svg += 'ν (·10¹⁴ Гц)'; + svg += 'Eк,max (эВ)'; + /* Прямая Eк = h(ν - ν₀) */ + const nu0x = left + (this.nu0 / numax) * (right - left); + let pts = ''; + for (let i = 0; i <= 50; i++){ + const v = this.nu0 + i * (numax - this.nu0) / 50; + const eV = h * (v - this.nu0) / e_ch; + const x = left + (v / numax) * (right - left); + const y = bot - (eV / Math.max(0.1, eMaxEV)) * (bot - top); + pts += x.toFixed(1) + ',' + y.toFixed(1) + ' '; + } + svg += ''; + /* До ν₀ — горизонтальная линия Eк = 0 */ + svg += ''; + /* Отметка ν₀ */ + svg += ''; + svg += 'ν₀'; + /* Текущая точка ν */ + const cx2 = left + (this.nu / numax) * (right - left); + const eVcur = Math.max(0, h * (this.nu - this.nu0) / e_ch); + const cy2 = bot - (eVcur / Math.max(0.1, eMaxEV)) * (bot - top); + svg += ''; + svg += ''; + /* Метки на осях X */ + for (let v = 0; v <= 12; v += 2){ + const x = left + (v / 12) * (right - left); + svg += '' + v + ''; + } + /* Подпись */ + svg += 'Eк,max = h(ν − ν₀) — угловой коэф. = h'; + /* Панель */ + const px = right + 12; + svg += 'ν = ' + (this.nu/1e14).toFixed(1) + '·10¹⁴'; + svg += 'ν₀ = ' + (this.nu0/1e14).toFixed(1) + '·10¹⁴'; + svg += 'Eк = ' + eVcur.toFixed(2) + ' эВ'; + svg += 'A = ' + (h * this.nu0 / e_ch).toFixed(2) + ' эВ'; + svg += ''; + this.el.innerHTML = svg; + } +} +P.PlanckLinear = PlanckLinear; + })(); diff --git a/frontend/textbooks/physics_11_ch5.html b/frontend/textbooks/physics_11_ch5.html index a1a1813..42625e6 100644 --- a/frontend/textbooks/physics_11_ch5.html +++ b/frontend/textbooks/physics_11_ch5.html @@ -1,143 +1,930 @@ - + - -Физика 11 · Глава 5 · Фотоны. Действия света - +Физика 11 · Глава 5 · «Фотоны. Действия света» + - + +
-
+
- - - К курсу физики 11 - +

Физика 11 · Глава 5

+
Фотоны. Действия света · фотоэффект, квантовая гипотеза Планка, корпускулярно-волновой дуализм
-
-

Глава 5. Фотоны. Действия света

-
Фотоэффект, квантовая гипотеза Планка, фотон, уравнение Эйнштейна, давление света, корпускулярно-волновой дуализм · §27–§29
+
+ К физике 11 +
-
+
+
-
- Глава 5 -

Фотоны. Действия света

-

Фотоэффект, квантовая гипотеза Планка, фотон, уравнение Эйнштейна, давление света, корпускулярно-волновой дуализм. Глава содержит 3 параграфа и финальный этап с боссами.

-
- -
- -
-
§ 27
-
-

Фотоэффект. Эксперим. законы. Квантовая гипотеза Планка

-

$E = h\nu$, $h = 6{,}63 \cdot 10^{-34}$ Дж·с

-
- - Будет добавлено в волне W9 +
+

Свет как поток фотонов

+

Начало квантовой физики. Гипотеза Планка, фотоэффект Эйнштейна, давление света Лебедева и удивительный дуализм волна-частица. 3 параграфа + финал.

+
+ +
+ Прогресс по главе +
+ 0%
+
-
+ -
-
§ 28
-
-

Фотон. Уравнение Эйнштейна для фотоэффекта

-

$h\nu = A_{вых} + \frac{mv_{max}^2}{2}$

-
- - Будет добавлено в волне W9 -
-
-
+
+
Параграфы главы
+
+
+ +
§ 27

Фотоэффект. Гипотеза Планка

+
§ 28

Фотон. Уравнение Эйнштейна

+
§ 29

Давление света. Дуализм

+

Финал главы 5

-
-
§ 29
-
-

Давление света. Корпускулярно-волновой дуализм

-

$p_{фот} = h\nu/c$. Опыт Лебедева

-
- - Будет добавлено в волне W9 -
-
-
- - - +
-
- Физика — 11 класс · Глава 5 · LearnSpace -
+
Интерактивный учебник «Физика 11» · Глава 5 · «Фотоны» · LearnSpace
+
Достижение!
+ +