首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript中的Heightmap不起作用

javascript中的Heightmap不起作用
EN

Stack Overflow用户
提问于 2015-12-16 13:55:57
回答 1查看 31关注 0票数 0

我想要创建一个高度映射为:z= f(x,y)。我使用以下javascript代码:

代码语言: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]));

它不起作用。没有创建矩阵z1。我能做些什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-16 14:24:10

代码中有两个问题:

  1. 警告时出现语法错误,并附加一个结束括号。
  2. 创建一个矩阵,当进入z1i时,没有看到要将数据推入的表,而是直接将数据单元格:而不是z1i.push(z),而是将z1i =z放在

一种可能的更正:

代码语言: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 =[];
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]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34313922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档