diff --git a/sphere/index.html b/sphere/index.html index 727e1ed..87d042a 100644 --- a/sphere/index.html +++ b/sphere/index.html @@ -58,7 +58,7 @@ input[type=range]{width:100%;accent-color:var(--down)} - +
4 up · Śiva 5 down · Śakti @@ -135,7 +135,7 @@ function build(){ document.getElementById('note').textContent=(!showSphere?'The plane on its own: the yantra and its inversion in the outer circle. ':'')+(mode==='stereo' ?'Straight sides lift to circles through the top pole. Concurrences are kept exactly; only curvature changes.' :'Straight sides lift to great circles (central projection), the Kulaichev–Rao spherical form. Lift → 0 is the flat limit.') - +` Yantra rim at ${deg.toFixed(1)}° from the bindu pole.`+(mode==='stereo'&&lift>1e6?' The rim has closed onto the north pole: 0 and ∞ hold the bindu and its dual.':'')+(mode!=='stereo'&&lift>20?' Great circles cap at the equator; switch to stereographic to reach the north pole.':''); + +` Yantra rim at ${deg.toFixed(1)}° from the bindu pole.`+(lift===0?' At zero lift the whole yantra shrinks into the bindu at the south pole, and its inverse fills the rest of the sphere.':'')+(mode==='stereo'&&lift>1e6?' The rim has closed onto the north pole: 0 and ∞ hold the bindu and its dual.':'')+(mode!=='stereo'&&lift>20?' Great circles cap at the equator; switch to stereographic to reach the north pole.':''); } function resize(){renderer.setSize(W(),H());cam.aspect=W()/H();cam.updateProjectionMatrix()} addEventListener('resize',resize);resize();build(); @@ -150,7 +150,7 @@ $('t-sphere').onclick=e=>{showSphere=!showSphere;e.currentTarget.setAttribute('a $('t-inv').onclick=e=>{showInv=!showInv;e.currentTarget.setAttribute('aria-pressed',showInv);build()}; $('t-plane').onclick=e=>{showPlane=!showPlane;e.currentTarget.setAttribute('aria-pressed',showPlane);build()}; $('t-spin').onclick=e=>{ctl.autoRotate=!ctl.autoRotate;e.currentTarget.setAttribute('aria-pressed',ctl.autoRotate)}; -$('lift').oninput=e=>{const v=+e.target.value;lift=v>=3.99?1e7:Math.pow(10,v);$('liftv').textContent=v>=3.99?'∞':(lift<10?lift.toFixed(2):lift.toFixed(0));build()}; +$('lift').oninput=e=>{const v=+e.target.value;lift=v>=3.99?1e7:v<=-2.99?0:Math.pow(10,v);$('liftv').textContent=v>=3.99?'∞':v<=-2.99?'0':(lift<0.01?lift.toFixed(3):lift<10?lift.toFixed(2):lift.toFixed(0));build()};