aces / brainbrowser

Web-based visualization tools for neurological data.
https://brainbrowser.cbrain.mcgill.ca/
GNU Affero General Public License v3.0
351 stars 122 forks source link

How do i get mouse point use vertex_data ? #359

Open liangfz-kit opened 4 years ago

liangfz-kit commented 4 years ago

I use viewer.pick(x, y) get vertex_data in SurfaceView, when i have vertex_data, then SurfaceView zoom, How can i get x, y?

natacha-beck commented 3 years ago

Hi @liangfz-kit ,

I'm not 100% sure about what you are looking for. But I think that should be helpful:

var pick_info = viewer.pick();
console.log(pick_info.point.x);
console.log(pick_info.point.y);
liangfz-kit commented 3 years ago
    var p = new THREE.Vector3(x, y, z);
    p = p.applyMatrix4(viewer.model.matrixWorld);
    var vector = p.project(camera);
    var x = (vector.x + 1) / 2 * viewer.dom_element.offsetWidth;
    var y = -(vector.y - 1) / 2 * viewer.dom_element.offsetHeight;