【发布时间】:2015-01-15 17:08:23
【问题描述】:
我有一个名为 Cube 的对象。是这样设置的
//Cube object
function Cube(vertices, color, scale)
{
//this.vertices = vertices;
this.setColor(color);
this.setScale(vertices, 1);
}
我注释掉了//this.vertices = vertices;,因为我不确定我是否必须在此处设置顶点或在setScale() 函数中设置它们。
我想在矩阵上设置比例。矩阵是:
var verts = [
// Front face
-1.0, -1.0, 1.0,
1.0, -1.0, 1.0,
1.0, 1.0, 1.0,
-1.0, 1.0, 1.0,
// Back face
-1.0, -1.0, -1.0,
-1.0, 1.0, -1.0,
1.0, 1.0, -1.0,
1.0, -1.0, -1.0,
// Top face
-1.0, 1.0, -1.0,
-1.0, 1.0, 1.0,
1.0, 1.0, 1.0,
1.0, 1.0, -1.0,
// Bottom face
-1.0, -1.0, -1.0,
1.0, -1.0, -1.0,
1.0, -1.0, 1.0,
-1.0, -1.0, 1.0,
// Right face
1.0, -1.0, -1.0,
1.0, 1.0, -1.0,
1.0, 1.0, 1.0,
1.0, -1.0, 1.0,
// Left face
-1.0, -1.0, -1.0,
-1.0, -1.0, 1.0,
-1.0, 1.0, 1.0,
-1.0, 1.0, -1.0
];
我用来设置比例的函数是这样的:
Cube.prototype.setScale = function(vertices, scale)
{
var length = vertices.length;
for( var i = 0; i < length; i++)
{
//alert("before "+ vertices[i]+ " i "+ i);
vertices[i] *= scale;
//alert("after "+ vertices[i]);
}
我认为通过这样做,for循环应该采用矩阵长度并开始一个for循环。
在这个 for 循环中,我将获得 i 处的顶点并将其乘以比例。
当我这样做时,尽管 for 循环会重复。 IE。当我达到 72 时,循环不会停止。
【问题讨论】:
标签: javascript object matrix scalar