Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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-Toolkit。。立方体通过旋转移动_Javascript_3d_Xtk - Fatal编程技术网

Javascript XTK-Toolkit。。立方体通过旋转移动

Javascript XTK-Toolkit。。立方体通过旋转移动,javascript,3d,xtk,Javascript,3d,Xtk,我是3D计算机图形学的新手,看到了一件奇怪的事情 我使用了XTK工具包,witch非常适合DICOM。我在场景中添加了一个立方体,并将其平移到远离中心的位置() 当立方体旋转时,它看起来像是在移动 这是XTK中的一个bug,还是3D渲染中的一个主要问题 window.onload=function(){ //创建并初始化三维渲染器 var r=新的X.renderr3D(); r、 init(); //创建一个立方体 cube=新的X.cube(); //剥去它的皮。。 cube.textur

我是3D计算机图形学的新手,看到了一件奇怪的事情

我使用了XTK工具包,witch非常适合DICOM。我在场景中添加了一个立方体,并将其平移到远离中心的位置()

当立方体旋转时,它看起来像是在移动

这是XTK中的一个bug,还是3D渲染中的一个主要问题

window.onload=function(){
//创建并初始化三维渲染器
var r=新的X.renderr3D();
r、 init();
//创建一个立方体
cube=新的X.cube();
//剥去它的皮。。
cube.texture.file=http://x.babymri.org/?xtk.png';
cube.transform.translateX(250);
cube.transform.translateY(200);
立方体、变换、平移(270);
r、 添加(立方体);//将立方体添加到渲染器
r、 render();/…并渲染它
//添加一些动画
r、 onRender=function(){
//在X和Y方向旋转1度
立方体、变换、旋转(1);
立方体、变换、旋转(1);
};

}; 您错过了将多维数据集看作是由几个顶点、边和/或面组成的复合对象。作为一个复合对象,它使用由X、Y、Z轴组成的局部坐标系。实际立方体在内部使用与立方体局部坐标系相关的顶点坐标进行描述

通过“平移”,您可以声明在应用于局部坐标系之前要调整的顶点的相对坐标。旋转仍然在该局部坐标系的轴上工作

因此,这不是X toolkit的错误

您可能需要将多维数据集放入另一个(可能是完全透明的)容器对象来平移/移动它,但要保持旋转多维数据集本身


我试图相应地延长你的小提琴,但没有成功。考虑到X Toolkit的明显意图,这可能是该Toolkit的一个预期限制,因为它显然不支持仅依靠其API以编程方式构建由多层对象层次结构组成的复杂场景。

通过观察小提琴,可以清楚地看出旋转中心与旋转中心不同立方体的形状。这是因为转换立方体上的坐标。旋转和平移都应用于同一引用:立方体。我建议使用一个单独的容器对象来执行转换或检查工具包,以便使用其他方法来“移动”多维数据集。。使用nrrd代替DICOM。出于我的目的,我需要一个或两个与dicom/nrrd卷相关的动态可变换(平移和旋转)对象。