2009-08-21 8 views
0

У меня возникли проблемы с поиском документации по o3d (не так уж удивительно). Кто-нибудь знает, как масштабировать мой x в o3d?Нужна помощь в масштабировании в o3d

+0

Не могли бы вы быть более конкретными? –

+0

У меня есть большое positionArray, которое определяет вершины, которые используются для создания моего куба, но мне нужно масштабировать эти значения на .6. Прямо сейчас я просто запускаю цикл и умножаю каждую из x вершин на .6, но я думаю, что было бы разумнее, если бы кто-то просто выполнял какой-то вызов масштаба x. Поэтому я предполагаю, что я получу матрицу преобразования, а затем даю ей вызов, который будет выглядеть примерно так: matrix.scaleX (.6), но я не знаю. Если мне придется вводить всю матрицу, это было бы хорошо, но кто-нибудь знает, как я это сделаю? – Mike2012

ответ

1

В модуле o3djs.math есть функция:

o3djs.math.matrix4.scaling = function(v) ... 

, где "v" является вектором. Так что если у вас есть текущая матрица преобразования можно сделать:

var scaleMatrix = o3djs.math.matrix4.scaling([0.6, 1, 1]); 
var newMatrix = o3djs.math.mulMatrixMatrix4(scaleMatrix, currMatrix); 

В «newMatrix» будет масштабировать X размерность куба на 0,6, а затем применить «currMatrix» после этого.

+0

Извините, я должен был закрыть эту ветку некоторое время назад. – Mike2012