2

我们正在尝试创建一个简单的编程环境,让人们生成 3D 表单(它的灵感来自Scratch 项目)。我们希望它以“海龟几何”的方式工作,其中一个生物(我们称之为甲虫,类似于标志龟)在 3D 空间中移动,并且可以沿途留下物体以占据其位置和方向。

我们目前正在使用 Three.js。虽然您可以移动和旋转对象,但不清楚如何创建我们想要的效果,平移和旋转“累积”并可以应用于新对象。我们还想存储这些矩阵的堆栈以推送和弹出。

这是一个具体的例子。我们系统的用户会创建一个这样的程序(这是伪代码):

repeat 36 [
  move 10
  rotate 10
  draw cube
]

这个想法是甲虫在执行这个程序时会绕着一个圆圈移动,在每个位置留下一个立方体。

这可以使用 Three.js 吗?我们需要切换到纯 WebGL 吗?

4

2 回答 2

1

你可以看看 http://u2d.com/turtle_js/index.html

它虽然使用 JavaScript 系统税。

如果出现错误,它没有反馈。乌龟什么也不做。

于 2011-06-24T10:05:21.787 回答
0

这些要求听起来相当高水平。没有理由需要原始 webgl 的低级访问。像 three.js 或其他更高级别的库就可以了。

正如@Orbling 指出的那样,您需要计算 3D 的旋转;例如

rotateX 10

(绕 x 轴逆时针旋转 10 度),或

turnLeft 10

(围绕当前向上矢量逆时针旋转 10 度)。

于 2011-11-09T17:49:47.233 回答