JSFiddle - React, Tailwind, and code Playground

by Bateman

HTML

zoom level:<input type="number" name="zoom_level"><br />
aspect = 1: <input type="text" name="result" disabled>
<br>
    20: 1128.497220,
    19: 2256.994440,
    18: 4513.988880,
    17: 9027.977761,
    16: 18055.955520,
    15: 36111.911040,
    14: 72223.822090,
    13: 144447.644200,
    12: 288895.288400,
    11: 577790.576700,
    10: 1155581.153000,
    9: 2311162.307000,
    8: 4622324.614000,
    7: 9244649.227000,
    6: 18489298.450000,
    5: 36978596.910000,
    4: 73957193.820000,
    3: 147914387.600000,
    2: 295828775.300000,
    1: 591657550.500000,

JavaScript

$("input[name='zoom_level']").bind('input', function() { 
    //or 
    level = parseFloat( $(this).val() );
    result = 591657550.500000 / Math.pow( 2, level-1);
    /*
    //or
    inv_level = 20 - parseFloat( $(this).val();
    result = Math.pow( 2, inv_level)*1128.497220;
    */

    $("input[name='result']").val( result.toFixed(6) );
})