三个js旋转球体周围的物体

时间:2015-02-25 02:55:43

标签: javascript rotation three.js trigonometry

所以我最近一直在使用threejs,当试图在地球表面旋转带有迷你球体的地球时遇到了一些问题。

https://github.com/rohanbhangui/globe-webgl< - 我的代码可以在这里找到

这是一个临时链接,但对于那些想要查看我的内容的人来说:https://cucmfjedgt.localtunnel.me

那么假设会发生什么:

  • 用户可以使用鼠标旋转地球仪,并且保持地球仪的组和场景中的所有内容都会根据鼠标移动旋转
  • 当用户点击绿色斑点时,会触发mouseup事件的条件部分,并且地球(以及绿色斑点)将旋转,使点击的绿色斑点现在位于屏幕的中心

我几乎尝试了所有东西(当然除了解决方案:))

非常感谢您的帮助。 (请加上我的代码,我知道它的杂乱)

1 个答案:

答案 0 :(得分:0)

嘿,您已经在代码中执行了此操作,我只是从您的创建中复制,请在此处查看示例

http://www.nhutrinh.com/threejs/

if(intersects.length >= 3)
    {
      for(var i = 0; i < vlist.length; i++)
      {
        if(vlist[i][0].position === intersects[0].object.position)
        {
          console.log("that point exists! code for rotating to green blob goes below");
             targetRotationY = targetRotationYOnMouseDown + ( mouse.y - mouseYOnMouseDown ) * 0.01 *75/targetDistance;
             targetRotationX = targetRotationXOnMouseDown + ( mouse.x - mouseXOnMouseDown ) * 0.01 *75/targetDistance;
          break;
        }
      }
    }