vtkplanesource设置normal和quaternion

时间:2015-04-20 12:50:00

标签: vtk

我已经使用vtkplanesource

编写了创建平面的代码
std::vector<vtkPlaneSource*>planeList;
    for(int i=0;i<N;i++)
{

vtkPlaneSource *plane=vtkPlaneSource::New();
planeList.push_back(plane);


    //translates the center of the plane to the specified center point.
    planeList[i]->SetCenter(posx[i],posy[i],posz[i]);
     //to rotate the plane around the center of the plane, aligning the plane normal with the specified normal
    planeList[i]->SetNormal(70,180.0,0);
    }

我有这样的四元数txt文件: img17.bmp = pos:-10.40 -13.48 -66.80 ori:1.17 -0.01 0.09 -0.98
img18.bmp = pos:-10.47 -13.96 -69.68 ori:1.19 -0.01 0.09 -0.98
img19.bmp = pos:-10.61 -13.89 -71.70 ori:1.31 -0.03 0.07 -0.95

txt文件在四元数中具有方向和方向。我研究设置正常的vtkplanesource将旋转平面,所以我想使用四元数来使用setnormal函数旋转平面。那么,在vtkplanesource上设置正常函数与四元数配合,我需要转换为欧拉角,轴角或什么值?

任何人都可以向我提供提示吗?

1 个答案:

答案 0 :(得分:0)

0 X / Y / Z旋转的平面是什么样的?最常见的是(0,0,1)或(0,1,0)的法线(取决于您使用的惯例)。

然后你要旋转它?只需通过四元数旋转法线即可。

注意:您的四元数值可能与您的预期不符。四元数的单位长度通常是