diff --git a/frontend/js/phys-fx.js b/frontend/js/phys-fx.js index f2d6779..77592a6 100644 --- a/frontend/js/phys-fx.js +++ b/frontend/js/phys-fx.js @@ -1915,4 +1915,163 @@ class PlanckLinear { } P.PlanckLinear = PlanckLinear; +/* ============================================================ */ +/* BohrAtom — атом водорода с орбитами и переходом */ +/* ============================================================ */ + +class BohrAtom { + constructor(container, opts){ + opts = opts || {}; + this.el = (typeof container === 'string') ? document.querySelector(container) : container; + this.W = opts.width || 540; + this.H = opts.height || 380; + this.n_from = opts.n_from !== undefined ? opts.n_from : 3; + this.n_to = opts.n_to !== undefined ? opts.n_to : 2; + this.phase = 0; + this.transitioning = false; + this.t_trans = 0; + this.paused = false; + util.subscribe(this); + util.observe(this); + this._render(); + } + setFrom(n){ this.n_from = n; this.startTransition(); } + setTo(n){ this.n_to = n; this.startTransition(); } + startTransition(){ this.transitioning = true; this.t_trans = 0; } + update(dt){ + this.phase += dt * 2; + if (this.transitioning){ + this.t_trans += dt; + if (this.t_trans > 1.5){ this.transitioning = false; this.t_trans = 0; } + } + } + render(){ + if (!this.el) return; + const W = this.W, H = this.H; + const cx = W / 2, cy = H / 2; + let svg = util.svgFrame(W, H, {bg:'#0f172a'}); + /* Ядро */ + svg += ''; + svg += '+'; + /* Орбиты n = 1..5 */ + const radii = [30, 55, 85, 120, 160]; + for (let n = 0; n < 5; n++){ + const r = radii[n]; + const active = (n + 1 === this.n_from || n + 1 === this.n_to); + svg += ''; + svg += 'n=' + (n + 1) + ''; + } + /* Электрон на текущей орбите */ + let curN; + if (this.transitioning){ + const t = Math.min(1, this.t_trans / 0.8); + const r1 = radii[this.n_from - 1] || 30; + const r2 = radii[this.n_to - 1] || 30; + const r = r1 + (r2 - r1) * t; + const a = this.phase; + const ex = cx + r * Math.cos(a), ey = cy + r * Math.sin(a); + svg += ''; + curN = this.n_to; + /* Фотон при переходе на нижний уровень */ + if (this.n_from > this.n_to && t > 0.4){ + const pt = (t - 0.4) / 0.6; + const fx = ex + 80 * pt; + const fy = ey - 40 * pt; + svg += ''; + svg += ''; + } + } else { + const r = radii[this.n_to - 1] || 30; + const a = this.phase; + const ex = cx + r * Math.cos(a), ey = cy + r * Math.sin(a); + svg += ''; + curN = this.n_to; + } + /* Подписи */ + const En = -13.6 / (curN * curN); + svg += 'Боровская модель атома H'; + svg += 'n = ' + curN + ' · E = -13,6/n² = ' + En.toFixed(2) + ' эВ'; + if (this.n_from !== this.n_to){ + const E_f = -13.6 / (this.n_from * this.n_from); + const E_t = -13.6 / (this.n_to * this.n_to); + const dE = Math.abs(E_t - E_f); + svg += 'переход ' + this.n_from + ' → ' + this.n_to + ''; + svg += 'hν = |E' + this.n_from + ' − E' + this.n_to + '| = ' + dE.toFixed(2) + ' эВ'; + } + svg += ''; + this.el.innerHTML = svg; + } + _render(){ this.render(); } +} +P.BohrAtom = BohrAtom; + +/* ============================================================ */ +/* EnergyLevels — диаграмма E_n + переход */ +/* ============================================================ */ + +class EnergyLevels { + constructor(container, opts){ + opts = opts || {}; + this.el = (typeof container === 'string') ? document.querySelector(container) : container; + this.W = opts.width || 540; + this.H = opts.height || 360; + this.n_from = opts.n_from !== undefined ? opts.n_from : 4; + this.n_to = opts.n_to !== undefined ? opts.n_to : 2; + this.paused = true; + this.render(); + } + setFrom(n){ this.n_from = n; this.render(); } + setTo(n){ this.n_to = n; this.render(); } + update(){} + render(){ + if (!this.el) return; + const W = this.W, H = this.H; + const pad = 40, leftLine = 200, rightLine = W - 100; + let svg = util.svgFrame(W, H, {bg:'#fef3c7'}); + /* Уровни n=1..6 + ионизация */ + const nMax = 6; + /* y(n) — нелинейное расположение, E пропорционально -1/n² */ + function E(n){ return -13.6 / (n * n); } + function y(En){ + const minE = -13.6, maxE = 0; + return pad + (maxE - En) / (maxE - minE) * (H - 2 * pad); + } + /* Линия ионизации (E=0) */ + const y0 = y(0); + svg += ''; + svg += 'E = 0 (ионизация)'; + /* Уровни */ + for (let n = 1; n <= nMax; n++){ + const En = E(n); + const yL = y(En); + const active = (n === this.n_from || n === this.n_to); + svg += ''; + svg += 'n=' + n + ''; + svg += '' + En.toFixed(2) + ' эВ'; + } + /* Переход — стрелка */ + if (this.n_from !== this.n_to){ + const E1 = E(this.n_from), E2 = E(this.n_to); + const y1 = y(E1), y2 = y(E2); + const xT = (leftLine + rightLine) / 2; + const color = E1 > E2 ? '#dc2626' : '#16a34a'; + svg += ''; + const dir = y2 < y1 ? -1 : 1; + svg += ''; + const dE = Math.abs(E1 - E2); + svg += 'hν = ' + dE.toFixed(2) + ' эВ'; + const lam = 1240 / dE; + svg += 'λ ≈ ' + lam.toFixed(0) + ' нм'; + } + /* Серии */ + svg += 'Лайман →'; + svg += 'Бальмер →'; + svg += 'Пашен →'; + svg += 'E_n = -13,6/n² (атом водорода)'; + svg += ''; + this.el.innerHTML = svg; + } +} +P.EnergyLevels = EnergyLevels; + })(); diff --git a/frontend/textbooks/physics_11_ch6.html b/frontend/textbooks/physics_11_ch6.html index 509d43d..22b40fe 100644 --- a/frontend/textbooks/physics_11_ch6.html +++ b/frontend/textbooks/physics_11_ch6.html @@ -1,167 +1,947 @@ - + - -Физика 11 · Глава 6 · Физика атома - +Физика 11 · Глава 6 · «Физика атома» + - + +
-
+
- - - К курсу физики 11 - +

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

+
Физика атома · ядерная модель, квантовые постулаты Бора, спектры, лазеры
-
-

Глава 6. Физика атома

-
Ядерная модель атома Резерфорда, квантовые постулаты Бора, спектры испускания и поглощения, лазеры · §30–§34
+
+ К физике 11 +
-
+
+
+ +
+

Внутри атома — Бор, спектры и лазеры

+

От ядерной модели Резерфорда до квантовых постулатов Бора, линейчатых спектров и работы лазеров. 5 параграфов + финал.

+
+ +
+ Прогресс по главе +
+ 0% +
+
+
+
+ +
+
Параграфы главы
+
+
+ +
§ 30

Сложное строение атома. Ядерная модель

+
§ 31

Квантовые постулаты Бора

+
§ 32

Излучение и поглощение света. Спектры

+
§ 33

Спонтанное и индуцированное излучение

+
§ 34

Лазеры

+

Финал главы 6

-
- Глава 6 -

Физика атома

-

Ядерная модель атома Резерфорда, квантовые постулаты Бора, спектры испускания и поглощения, лазеры. Глава содержит 5 параграфов и финальный этап с боссами.

- -
- -
-
§ 30
-
-

Сложное строение атома. Ядерная модель атома

-

Опыт Резерфорда, размер ядра $\sim 10^{-15}$ м

-
- - Будет добавлено в волне W10-W11 -
-
-
- -
-
§ 31
-
-

Квантовые постулаты Бора

-

$E_n = -E_1/n^2 = -13{,}6/n^2$ эВ

-
- - Будет добавлено в волне W10-W11 -
-
-
- -
-
§ 32
-
-

Излучение и поглощение света атомом. Спектры

-

$h\nu = E_n - E_m$, линейчатые спектры

-
- - Будет добавлено в волне W10-W11 -
-
-
- -
-
§ 33
-
-

Спонтанное и индуцированное излучение

-

Подготовка к лазерам

-
- - Будет добавлено в волне W10-W11 -
-
-
- -
-
§ 34
-
-

Лазеры

-

Инверсная населённость, когерентность

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