Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript xtk中模型的边界框和摄影机的旋转中心_Javascript_Visualization_Webgl_Xtk - Fatal编程技术网

Javascript xtk中模型的边界框和摄影机的旋转中心

Javascript xtk中模型的边界框和摄影机的旋转中心,javascript,visualization,webgl,xtk,Javascript,Visualization,Webgl,Xtk,尝试,很棒的东西! 有没有一种快速的方法来获取模型的边界框或其他可以用作摄影机旋转中心的点?最坏的情况是,什么是循环积分的最佳方式?谢谢你的回复 可以查询每个X.object()的质心,如下所示: ... r = new X.renderer('r'); r.init(); o = new X.object(); o.load('test.vtk'); r.add(o); r.render(); r.onShowtime = function() { // print the c

尝试,很棒的东西!
有没有一种快速的方法来获取模型的边界框或其他可以用作摄影机旋转中心的点?最坏的情况是,什么是循环积分的最佳方式?谢谢你的回复

可以查询每个X.object()的质心,如下所示:

...
r = new X.renderer('r');
r.init();

o = new X.object();
o.load('test.vtk');

r.add(o);
r.render();

r.onShowtime = function() {

    // print the centroid
    console.log(o.points().centroid());

};
...
您必须重载X.renderer的onShowtime函数,以确保X.object已正确设置(.vtk文件加载等)

要配置摄像头,您可以执行以下操作:

...
r.camera().setPosition(-400,0,0); // set the position
r.camera().setFocus(-10,-10,-10); // set the focus point
r.camera().setUp(1,0,0); // set the (normalized) up vector
r.render();
...
无论如何,要在点上循环,请执行以下操作:

...
// o is an X.object
var numberOfPoints = o.points().count();
var pointArrayLength = o.points().length(); // equals numberOfPoints * 3
var allPoints = o.points().all(); // as a flat 1D array optimized for WebGL

// just loop it :)
...