diff --git a/main.js b/main.js index 4e2997a1..1e99130f 100644 --- a/main.js +++ b/main.js @@ -1010,16 +1010,18 @@ function calculateTemperatures() { cells.temp = new Int8Array(cells.i.length); // temperature array const tEq = +temperatureEquatorInput.value; - const tPoleN = +temperatureNorthPoleInput.value; + const tNPole = +temperatureNorthPoleInput.value; //TODO Find proper delta to calculate const tSPole = +temperatureSouthPoleInput.value; - const tDelta = tEq - tPoleN; + const tNDelta = tEq - tNPole; + const tSDelta = tEq - tSPole; const int = d3.easePolyInOut.exponent(0.5); // interpolation function d3.range(0, cells.i.length, grid.cellsX).forEach(function (r) { const y = grid.points[r][1]; const lat = Math.abs(mapCoordinates.latN - (y / graphHeight) * mapCoordinates.latT); // [0; 90] - const initTemp = tEq - int(lat / 90) * tDelta; + const initTemp = tEq - rn(lat / 90, 2) * tNDelta; + console.info(+y + "\t|\t" + +lat + "\t|\t" + +initTemp); for (let i = r; i < r + grid.cellsX; i++) { cells.temp[i] = minmax(initTemp - convertToFriendly(cells.h[i]), -128, 127); } diff --git a/modules/ui/options.js b/modules/ui/options.js index 960e3090..942134a4 100644 --- a/modules/ui/options.js +++ b/modules/ui/options.js @@ -613,7 +613,7 @@ function randomizeOptions() { if (randomize || !locked("temperatureEquator")) temperatureEquatorOutput.value = temperatureEquatorInput.value = rand(tMax - 10, tMax); if (randomize || !locked("temperaturePole")) - temperaturePoleOutput.value = temperaturePoleInput.value = rand(tMin, tMin + 30); + temperatureNorthPoleOutput.value = temperatureNorthPoleInput.value = temperatureSouthPoleOutput.value = temperatureSouthPoleInput.value = rand(tMin, tMin + 30); // 'Units Editor' settings const US = navigator.language === "en-US"; diff --git a/modules/ui/world-configurator.js b/modules/ui/world-configurator.js index 6e62b71d..ccd5bdc3 100644 --- a/modules/ui/world-configurator.js +++ b/modules/ui/world-configurator.js @@ -109,6 +109,8 @@ function editWorld() { document.getElementById("temperatureEquatorF").innerHTML = rn((tEq * 9) / 5 + 32); const tNPole = +document.getElementById("temperatureNorthPoleOutput").value; document.getElementById("temperatureNorthPoleF").innerHTML = rn((tNPole * 9) / 5 + 32); + const tSPole = +document.getElementById("temperatureSouthPoleOutput").value; + document.getElementById("temperatureSouthPoleF").innerHTML = rn((tSPole * 9) / 5 + 32); globe.selectAll(".tempGradient90").attr("stop-color", clr(1 - (tNPole - tMin) / (tMax - tMin))); globe.selectAll(".tempGradient60").attr("stop-color", clr(1 - (tEq - ((tEq - tNPole) * 2) / 3 - tMin) / (tMax - tMin))); globe.selectAll(".tempGradient30").attr("stop-color", clr(1 - (tEq - ((tEq - tNPole) * 1) / 3 - tMin) / (tMax - tMin)));