Skill: polar-coordinates
Polar Coordinates & Graphs Practice
Endless polar drills: plot (r, θ) with negative r, convert both directions, name the graph, count rose petals — with hints and full solutions.
1 Practice problems
Endless polar drills: plot (r, θ) with negative r, convert both directions, name the graph, count rose petals — with hints and full solutions.
How to type answers
- Points: type like
(0, 5)— decimals to 2 places are fine. - Polar answers: type like
(5, 90°)— include the degree sign. - Words/equations: type in lowercase, e.g.
rose,x^2 + y^2 = 25. - After two wrong tries the full step-by-step solution appears.
2 Keep going
Try the calculator, explore the visual lab, print a worksheet, or play the sprint game.
/* ===== page glue: wires the tested core to the DOM ===== */ (function(){ 'use strict'; var SP=window.__FIBO_API__; var session=new SP.PracticeSession((Date.now()%2000000000)+7, SP.TEMPLATES); function el(id){ return document.getElementById(id); } var input=el('ansInput'), checkBtn=el('checkBtn'), anotherBtn=el('anotherBtn'), showSolBtn=el('showSolBtn'), promptTag=el('promptTag'), promptEl=el('promptEl'), fb=el('fb'), hintBox=el('hintBox'), whyBox=el('whyBox'), statsLine=el('statsLine'); function updateStats(){ statsLine.innerHTML='Score '+session.score+' · Streak '+session.streak+' · Problem '+session.problemNum+''; } function clearPanels(){ fb.className='fb'; fb.innerHTML=''; hintBox.className='hintbox'; hintBox.innerHTML=''; whyBox.className='whybox'; whyBox.innerHTML=''; } function showFb(kind,html){ fb.className='fb show '+kind; fb.innerHTML=html; } function newProblem(){ var pr=session.next(); promptTag.textContent=pr.tag; promptEl.innerHTML=pr.promptHTML; input.value=''; clearPanels(); showSolBtn.style.display=''; updateStats(); input.focus(); } function showWhy(){ whyBox.className='whybox show'; whyBox.innerHTML='
'+session.current.whyHTML; showSolBtn.style.display='none'; } checkBtn.addEventListener('click',function(){ var r=session.submit(input.value); updateStats(); if(r.status==='invalid'){ showFb('warn','Could not read that. Check the accepted answer formats below the problem.'); return; } if(r.status==='already' || r.status==='none'){ return; } if(r.status==='correct'){ if(r.firstTry){ showFb('ok','Correct! +1 point. The answer is '+r.answerHTML+''); } else if(session.revealed){ showFb('ok','That is right. You already saw the solution, so no point this time. Hit Try another for a fresh problem.'); } else { showFb('ok','Correct! The answer is '+r.answerHTML+' Solved after a hint, so no point this time.'); } showSolBtn.style.display='none'; return; } if(r.status==='hint'){ showFb('no','Not quite. Try again — here is a hint.'); hintBox.className='hintbox show'; hintBox.innerHTML=r.hintHTML; input.focus(); input.select(); return; } if(r.status==='why'){ showFb('no','Not quite. Let us walk through it step by step.'); showWhy(); return; } }); anotherBtn.addEventListener('click',newProblem); showSolBtn.addEventListener('click',function(){ session.reveal(); showWhy(); updateStats(); }); input.addEventListener('keydown',function(e){ if(e.key==='Enter'){ checkBtn.click(); } }); newProblem(); })();