feat(math6): симметрия (Гл.6 §4 центральная, §5 осевая) — reflectFold
Math6Anim.reflectFold: на координатной плоскости треугольник плавно переходит на свой образ — центральная (поворот 180° вокруг O, режим 'central') или осевая (отражение через Oy, режим 'axial'); образ показан красным пунктиром, ось/центр выделены. Один компонент закрыл §4 и §5. Headless-safe. Тесты math6: 20/20. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -405,9 +405,14 @@ function buildP4(){
|
||||
+'<div id="p4-q2" class="qbox"></div>'
|
||||
+'<div style="display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap">$x\'=$ <input type="number" id="p4-x2" class="tinp" style="width:70px;text-align:center"> $y\'=$ <input type="number" id="p4-y2" class="tinp" style="width:70px;text-align:center"><button class="btn primary" id="p4-go2">Проверить</button></div>'
|
||||
+'<div class="feedback" id="p4-fb2"></div></div>';
|
||||
h+='<div class="wg" id="p4-symfig-wg"><div class="wg-header"><span class="wg-badge">Анимация</span><div class="wg-title">Центральная симметрия вживую</div></div>'
|
||||
+'<div class="wg-help">Жёлтый треугольник плавно поворачивается на $180°$ вокруг центра $O$ и ложится на свой образ (красный пунктир).</div>'
|
||||
+'<div id="p4-symfig"></div></div>';
|
||||
h+=secNav('p3','p5')+readBtn('p4');
|
||||
box.innerHTML=h; renderMath(box);
|
||||
|
||||
(function(){ if(window.Math6Anim) Math6Anim.reflectFold(document.getElementById('p4-symfig'),{mode:'central'}); })();
|
||||
|
||||
(function(){
|
||||
var i2=0,score2=0,cur2=null;
|
||||
function gen2(){ var ax=_pick([-5,-4,-3,-2,-1,1,2,3,4,5]),ay=_pick([-5,-4,-3,-2,-1,1,2,3,4,5]); cur2={ax:ax,ay:ay,rx:-ax,ry:-ay}; }
|
||||
@@ -469,9 +474,14 @@ function buildP5(){
|
||||
+'<div id="p5-q2" class="qbox"></div>'
|
||||
+'<div style="display:flex;gap:10px;justify-content:center;flex-wrap:wrap"><button class="btn primary" data-ax2="Oy">Ось $Oy$</button><button class="btn primary" data-ax2="Ox">Ось $Ox$</button></div>'
|
||||
+'<div class="feedback" id="p5-fb2"></div></div>';
|
||||
h+='<div class="wg" id="p5-symfig-wg"><div class="wg-header"><span class="wg-badge">Анимация</span><div class="wg-title">Осевая симметрия вживую</div></div>'
|
||||
+'<div class="wg-help">Жёлтый треугольник «складывается» через ось $Oy$ (красный пунктир) и ложится на свой образ.</div>'
|
||||
+'<div id="p5-symfig"></div></div>';
|
||||
h+=secNav('p4','final')+readBtn('p5');
|
||||
box.innerHTML=h; renderMath(box);
|
||||
|
||||
(function(){ if(window.Math6Anim) Math6Anim.reflectFold(document.getElementById('p5-symfig'),{mode:'axial'}); })();
|
||||
|
||||
(function(){
|
||||
var i2=0,score2=0,cur2=null;
|
||||
function gen2(){ var ax=_pick([-4,-3,-2,-1,1,2,3,4]),ay=_pick([-4,-3,-2,-1,1,2,3,4]),axis=_pick(['Oy','Ox']); cur2={ax:ax,ay:ay,axis:axis,rx:axis==='Oy'?-ax:ax,ry:axis==='Oy'?ay:-ay}; }
|
||||
|
||||
Reference in New Issue
Block a user