在three.js中添加多维数据集

时间:2016-04-29 20:58:39

标签: javascript html three.js

我正在尝试在以下示例中添加一些球体。最初它只有三个立方体,但我需要添加几个彼此等距的球体,并且会以不同的速度旋转。

我的尝试

googleapis.oauth2("v2").userinfo.v2.me.get({auth: oauth2Client}, (e, profile) => {
    ...
});

为什么我无法在场景中添加3个以上的球体?我试图添加第四个球体,但它不起作用。如何在这里考虑速度?那就是:我可以为某些球体指定不同的速度吗?

1 个答案:

答案 0 :(得分:1)

缺少第四球

您指定:

</header>

<main ng-app='myApp'>
    <div ng-controller="AppController">
        {{ greeting }}
    </div>
</main>

<footer>
    <script src="libs/angular.js" charset="utf-8"></script>
    <script src="libs/angular-route.min.js" charset="utf-8"></script>
    <script src="js/app.js" charset="utf-8"></script>
    <script src="js/service.js" charset="utf-8"></script>
</footer>

pivot1.rotation.z = 0; pivot2.rotation.z = 2 * Math.PI / 3; pivot3.rotation.z = 4 * Math.PI / 3; pivot4.rotation.z = 6 * Math.PI / 3; = 6 * Math.PI / 3

注意,three.js使用弧度,因此2 * Math.PI2 * PI(完整旋转与无旋转的位置相同。

所以pivot1和pivot4具有相同的有效旋转,你的2个球体最终在空间的同一个地方。

速度

您目前通过改变每一帧的z旋转来处理速度。

0

这显然适用于演示。您可以通过每帧移动更多(或获得​​更多帧,即更好的机器或其他升级)来加快速度。

parent.rotation.z += 0.01;

现在它以4倍的速度旋转!

更多球体

一旦你过去使用大于手指数的计数,我建议使用数组通用。而不是列出parent.rotation.z += 0.04; ,而是通过循环生成它。 (如果您愿意,可以在功能上使用范围。)

首先,我们声明要制作多少个球体。然后将圆圈分开(2 * Math.PI弧度到处)。然后永远的球体,做一个枢轴。然后,对于每个轴,添加一个网格。而且你已经完成了。

pivot1, pivot2, pivot3, . . . pivot0451

我是在this codepen.io

实施的

快乐的编码。