緯度と経度のデータに基づいてキューブ ジオメトリの上に地形を作成したいと考えています。緯度、経度、および特定の座標を変形する量を含むオブジェクトの配列があります。
var geo = new THREE.CubeGeometry( 10, 20, 40, 40, worldWidth, worldDepth);
var worldWidth = 100, worldDepth = 100;
for ( var i = 0; i < worldWidth; i++ ) {
for ( var j = 0; j < worldDepth; j++ ){
for (var k = 0; k < locations.length; k++ ) {
var index = j * worldWidth + i;
var x = worldWidth * (locations[k].lng + 180) / (2 * 180);
var y = worldDepth * (locations[k].lat + 180) / (2 * 180);
var dx = i - x;
var dy = j - y;
var dist = Math.sqrt( dx*dx + dy*dy );
if ( dist < .5 ) {
geo.vertices[index].x += locations[k].count * .05;
}
}
}
}
現在、このコードは、緯度と経度に最も近い個々の座標を押し上げるだけです。スパイクではなく地形のように見えるように、各位置座標の周囲を滑らかにする方法はありますか?