0

fft の 3D バージョンを書きたいと思います。(このように:https://wiki.mozilla.org/File:Fft.png) そこで、いくつかのバーを作成し、外部関数で、最初のアプローチは lengthY を値に設定することでした。次に、bar.modified() を呼び出して強制的に再描画します。

50 以上のバーを使用すると、(私の 4 コア CPU では) 非常に遅くなります。もっと良い方法があると思いますよね?

ソース:

var elements = new Array();

create3d = function(len) {
    var r = new X.renderer3D();

    r.init();

  if(a.length == 0){
     for ( var y = 0; y < len; y++) {
      var c = new X.cube();
      a.push(c);
     }
  }

     for ( var i = 0; i < len; i++) {
      a[i].center = [i*2 , 0, 0];
      a[i].lengthX = 1; 
      a[i].lengthY = 20;
      a[i].lengthZ = 1;

      a[i].color = [i%2,0,0];

      r.add(a[i]);
    }
  r.render();
};

function setVal(index,val){
    var element = a[index];
    element.lengthY = val;
    element.modified();
}
4

1 に答える 1