mirror of
https://github.com/TangentFoxy/heightmap.git
synced 2025-07-27 18:32:16 +00:00
should work for any range :D
source: http://stackoverflow.com/questions/10364575/normalization-in-variable-range-x-y-in-matlab
This commit is contained in:
19
init.lua
19
init.lua
@@ -28,24 +28,11 @@ local function create(width, height, f, rangeMin, rangeMax)
|
||||
local map = heightmap.create(width, height, f)
|
||||
|
||||
local minimum = min(map)
|
||||
local maximum = max(map)
|
||||
|
||||
--[[
|
||||
-- if minimum is below zero, + everything till minimum is zero
|
||||
if minimum < 0 then
|
||||
local initialRange = max(map) - minimum
|
||||
local finalRange = rangeMax - rangeMin
|
||||
for i=0,#map do
|
||||
for j=0,#map[0] do
|
||||
map[i][j] = map[i][j] - minimum
|
||||
end
|
||||
end
|
||||
end
|
||||
--]]
|
||||
|
||||
-- normalize range of values to desired range
|
||||
for i=0,#map do
|
||||
for j=0,#map[0] do
|
||||
--floor(map[i][j] * NEW_MAX_VALUE / maximum)
|
||||
map[i][j] = (map[i][j] - minimum) / (maximum - minimum)
|
||||
map[i][j] = (map[i][j] - minimum) / initialRange * finalRange + rangeMin
|
||||
end
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user