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();
}