[英]Heightmap in javascript does not work
I want to create a height map as : z = f(x, y). 我想创建一个高度图:z = f(x,y)。 I use the following javascript code:
我使用以下javascript代码:
var x0, x1, y0, y1, dx, dy;
var x, y, z;
var N = 61;
x0 = -3;
x1 = 3;
y0 = -3;
y1 = 3;
dx = (x1 - x0) / (N - 1);
dy = (y1 - y0) / (N - 1);
var i, j;
var z1 =new Array(N);
for(i=0; i<N; i++){
z1[i] = new Array(N);
}
for(i=0; i<N; i++){
x = x0 + i*dx;
for(j=0; j<N; j++){
y = y0 +j*dy;
z = 10*Math.sin(Math.sqrt(x*x+y*y));
z1[i][j].push(z);
}
}
alert("z(4, 5) = " + z1[4][5]));
It does not work. 这是行不通的。 The matrix z1 is not created.
未创建矩阵z1。 What can I do ?
我能做什么 ?
Two issues in your code: 您的代码中有两个问题:
a possible correction: 可能的更正:
var x0, x1, y0, y1, dx, dy;
var x, y, z;
var N = 61;
x0 = -3;
x1 = 3;
y0 = -3;
y1 = 3;
dx = (x1 - x0) / (N - 1);
dy = (y1 - y0) / (N - 1);
var i, j;
var z1 =[];
for(i=0; i<N; i++){
z1[i] = new Array(N);
}
for(i=0; i<N; i++){
x = x0 + i*dx;
for(j=0; j<N; j++){
y = y0 +j*dy;
z = 10*Math.sin(Math.sqrt(x*x+y*y));
z1[i][j] = z;
}
}
alert("z(4, 5) = " + z1[4][5]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.