Текстурирование сферы по проекции Меркатора

Рейтинг: 2Ответов: 0Опубликовано: 16.02.2015

Сразу перейду к коду

получение значения широты в радианах по меркатору, эта функция работает отлично

getMerc=function(lat){

            var mercN=Math.PI/2-lat*Math.PI;

            var lonRad = -2*Math.atan(Math.exp(2*mercN))+Math.PI;

            return lonRad; 
    }

получение значений для UV маппинга дляOpenGL/WebGL

function MercUvs(row){

   var lon=Earth.Math.getMerc((y+1-row/(verticesRow.length-1))/z);

   return (lon-ystart)/(yend-ystart);
}

Все это применяется для частей сферы на quadtree начиная со слоя 2, текстуры берутся из гугл карты, таким образом 2 слой дает 16 разделенных частей сферы

С первого взгляда все работает нормально, но если разместить рядом части с разных слоев, то заметны неточности. alt textalt text

Ответы

Ответов пока нет.