回転球面上の緯度と経度のためにクリック緯度する]をクリックし、経度変換マウスは、私が球を持っていると私は、マウスを変換する必要があり
すべては限り球が何回転を持たないなど正常に動作しますが、それは任意の回転を持っている場合 - 私は間違った結果
ここを得る私のコードです:私はEarthSphereに基づいて何とかpointOnSphereを操作する必要があることをgussingい
var mouse = new THREE.Vector2();
mouse.x = (event.pageX/window.innerWidth) * 2 - 1;
mouse.y = -(event.pageY/window.innerHeight) * 2 + 1;
var raycaster = new THREE.Raycaster();
raycaster.setFromCamera(mouse, camera);
var intersects = raycaster.intersectObject(EarthSphere);
if (intersects.length!=1) return;
var pointOnSphere = new THREE.Vector3();
pointOnSphere.x = intersects[0].point.x;
pointOnSphere.y = intersects[0].point.y;
pointOnSphere.z = intersects[0].point.z;
var EarthRadius = 20;
var lat = 90 - (Math.acos(pointOnSphere.y/EarthRadius)) * 180/Math.PI;
var lon = ((90 + (Math.atan2(pointOnSphere.x , pointOnSphere.z)) * 180/Math.PI) % 360) - 180;
、任意のアイデアは?
EDITED
earth.updateMatrixWorld(TRUE)。 pointOnSphere = earth.localToWorld(pointOnSphere.clone());
私は、次のようなものが働くだろうと思った:私は考えて
ローテーション行列はありますか? – Rabbid76
EarthSphereはメッシュなので、EarthSphere.matrixですか? – user1732451