diff --git a/panther2d.js b/panther2d.js index 4d0919f521d8779cac2f2e0ace6ba790ce045e05..2fda65dfffd615b5ee954045d8723b135cfdd508 100644 --- a/panther2d.js +++ b/panther2d.js @@ -124,20 +124,22 @@ const scalev = ($('#'+scaleprefix+'scalev').children().eq(1).children()[1].value-0)*cfactor; const scalevunit = Math.ceil(Math.log10(scalev)); const scalevfactor = scalev/Math.pow(10, scalevunit); + const hfactor = scalehfactor<0.2? 5: (scalehfactor<0.5? 2: 1); + const vfactor = scalevfactor<0.2? 5: (scalevfactor<0.5? 2: 1); console.log('scaleh', scaleh, 'scalehunit', scalehunit, 'scalehfactor', scalehfactor); - $('#redruler1').attr('y2', -10100*scalehfactor); - $('#greenruler1').attr('y2', 10100*scalevfactor); + $('#redruler1').attr('y2', -10100*scalehfactor*hfactor); + $('#greenruler1').attr('y2', 10100*scalevfactor*vfactor); for (let i=0; i<=10; i++) { - const yh = (-i*1000*scalehfactor); + const yh = (-i*hfactor*1000*scalehfactor); $('#redtick1'+(100-i)).attr('y1', yh); $('#redtick1'+(100-i)).attr('y2', yh); $('#redlabel'+(100-i)).attr('y', yh); - $('#redlabel'+(100-i)).html(i+units[scalehunit]); - const yv = (-i*1000*scalevfactor); + $('#redlabel'+(100-i)).html(i*hfactor+units[scalehunit]); + const yv = (-i*vfactor*1000*scalevfactor); $('#greentick1'+(100-i)).attr('y1', -yv); $('#greentick1'+(100-i)).attr('y2', -yv); $('#greenlabel'+(100-i)).attr('y', -yv); - $('#greenlabel'+(100-i)).html(i+units[scalevunit]); + $('#greenlabel'+(100-i)).html(i*vfactor+units[scalevunit]); } }