2009-08-21 14 views
0

Ich habe Probleme bei der Suche nach viel Dokumentation auf o3d (nicht zu überraschend). Kann jemand mein X in o3d skalieren?Brauchen Sie Hilfe Skalierung in o3d

+0

Könnten Sie etwas genauer sein? –

+0

Ich habe eine große PositionArray, die die Scheitelpunkte definiert, die verwendet werden, um meinen Cube zu erstellen, aber ich muss diese Werte um .6 skalieren. Im Moment laufe ich einfach durch eine Schleife und multipliziere jeden der x Vertices mit .6, aber ich denke, es würde mehr Sinn machen, wenn man nur eine Art skalen x Call macht. Also nehme ich an, ich würde die Transformationsmatrix bekommen und dann einen Aufruf geben, der ungefähr so ​​aussieht: matrix.scaleX (.6), aber ich weiß es nicht. Wenn ich die ganze Matrix eingeben müsste, wäre das in Ordnung, aber weiß jemand, wie ich das machen würde? – Mike2012

Antwort

1

Im o3djs.math Modul gibt es eine Funktion:

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

wobei "v" ist ein Vektor. Wenn Sie also eine aktuelle Transformationsmatrix haben könnten Sie tun:

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

Die „newMatrix“ würde um 0,6 die X-Dimension des Würfels skalieren und dann anwenden „currMatrix“ danach.

+0

Tut mir leid, ich hätte diesen Thread vor einer Weile schließen sollen. – Mike2012