feat(math6): термометр (Гл.4 §1) — ±числа и модуль наглядно
Math6Anim.thermometer: вертикальный термометр на canvas, ртуть плавно поднимается/опускается к значению (easing), выше нуля — красный, ниже — синий; подпись поясняет знак и |x| как расстояние до нуля. Ползунок −10..10. Вшит в Гл.4 §1. Headless-safe. Тесты math6: 20/20. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -125,6 +125,10 @@ function buildP1(){
|
||||
+'<li>$A$ правее $B$, значит $3 > -4$. Любое положительное больше любого отрицательного.</li></ol>');
|
||||
h+=makeCard('theory','А знаешь ли ты?','1.4',
|
||||
'<p>Отрицательные числа официально признали математики лишь в XVII веке — до этого их называли «абсурдными» или «мнимыми долгами». Индийский математик Брахмагупта ещё в VII веке описал правила работы с ними, но в Европе их долго отвергали!</p>');
|
||||
h+='<div class="wg" id="p1-therm"><div class="wg-header"><span class="wg-badge">Анимация</span><div class="wg-title">Термометр: тепло и мороз</div></div>'
|
||||
+'<div class="wg-help">Двигай ползунок. Выше нуля — тепло (красный), ниже — мороз (синий). Модуль $|x|$ — это расстояние числа до нуля.</div>'
|
||||
+'<div class="sliders"><label>Температура = <b id="p1-tv">5</b>°<input type="range" id="p1-ts" min="-10" max="10" value="5"></label></div>'
|
||||
+'<div id="p1-therm-fig"></div></div>';
|
||||
h+='<div class="wg" id="p1-iv1"><div class="wg-header"><span class="wg-badge">Интерактив 1</span><div class="wg-title">Прочитай координату</div></div>'
|
||||
+'<div class="wg-help">Определи координату отмеченной точки (может быть отрицательной).</div>'
|
||||
+'<div class="score-display"><span>Вопрос <b id="p1-i">1</b> / 6</span><span>Очки: <b id="p1-s">0</b> / 6</span></div>'
|
||||
@@ -140,6 +144,9 @@ function buildP1(){
|
||||
h+=secNav(null,'p2')+readBtn('p1');
|
||||
box.innerHTML=h; renderMath(box);
|
||||
|
||||
(function(){ if(!window.Math6Anim) return; var t=Math6Anim.thermometer(document.getElementById('p1-therm-fig'),{value:5});
|
||||
var sl=document.getElementById('p1-ts'); sl.oninput=function(){ document.getElementById('p1-tv').textContent=sl.value; t.set(+sl.value); }; })();
|
||||
|
||||
(function(){
|
||||
var i=0,score=0,cur=0;
|
||||
function show(){ if(i>=6){ document.getElementById('p1-fig').innerHTML='<b>Готово!</b> '+score+' / 6'; if(score>=5){addXp(15,'p1-iv1');bumpProgress('p1',30);}else if(score>=3){addXp(8,'p1-iv1');bumpProgress('p1',16);} return; }
|
||||
|
||||
Reference in New Issue
Block a user