Как мы можем создать геометрию черепахи в three.js? - PullRequest
2 голосов
/ 20 апреля 2011

Мы пытаемся создать простую среду программирования, которая позволяет людям создавать трехмерные формы (это вдохновлено проектом Scratch ).Мы бы хотели, чтобы он работал в стиле «геометрия черепахи», когда существо (мы называем его жуком, по аналогии с логотипом черепахи) движется вокруг трехмерного пространства и может оставлять на своем пути объекты, которые занимают свою позициюи ориентация.

В настоящее время мы используем Three.js.В то время как вы можете перемещать и вращать объекты, не ясно, как создать желаемый эффект, когда перемещения и вращения «накапливаются» и могут применяться к новым объектам.Мы также хотели бы сохранить стек этих матриц для push и pop.

Вот конкретный пример.Пользователь нашей системы должен создать такую ​​программу (это псевдокод):

repeat 36 [
  move 10
  rotate 10
  draw cube
]

Идея состоит в том, что жук будет двигаться по кругу при выполнении этой программы, оставляя куб в каждой позиции.

Возможно ли это с помощью Three.js?Нужно ли переходить на чистый WebGL?

Ответы [ 2 ]

1 голос
/ 24 июня 2011

Вы можете взглянуть на http://u2d.com/turtle_js/index.html

Хотя он использует системный JavaScript-код.

И не имеет обратной связи в случае ошибок.Черепаха просто ничего не делает.

0 голосов
/ 09 ноября 2011

Требования звучат достаточно высокого уровня.Нет причин, по которым вам понадобится доступ на низком уровне к сырому webgl.Библиотека более высокого уровня, такая как three.js или другая, вполне подойдет.

Как указывал @Orbling, вам нужно вычислить вращение для 3D;например,

rotateX 10

(повернуть на 10 градусов против часовой стрелки вокруг оси x) или

turnLeft 10

(повернуть на 10 градусов против часовой стрелки вокруг вектора повышения тока).

...