ActiViz(VTK的C#库)学习使用心得之九:三维坐标轴的实现

  • Post author:
  • Post category:其他


三维程序设计中,通常会在控件窗口中设置和显示坐标轴系线,方便操作和使用。VTY库中提供vtkAxesActor类,方便用户快捷实现三维坐标的实现。效果如下:

74ce39b3acd40fca584e7d0df565693d3ef.jpg

C#核心代码如下:

vtkAxesActor axesActor = vtkAxesActor.New();     //  创建“坐标”角色

render1.AddActor(axesActor);                                //  渲染坐标角色


说明:

1.坐标原点位于世界坐标系的(0,0,0)点。

2. 坐标自带箭头和默认颜色、大小。

3.坐标对象自带带告示板效果的“X”,“Y”和“Z”。

4.坐标轴会自动与视点控件联动(不需要另外编程)。

5.可通过vtkTransform类的设定,移动、旋转和缩放坐标轴。

6.可通过设定 vtkAxesActor的属性改变坐标轴颜色等属性。

提供renderWindowControl1的Load事件C#源代码,供大家调试使用。请特别注意坐标轴的旋转和缩放参数的设置,这可能导致坐标轴变形。

private void renderWindowControl1_Load(object sender, EventArgs e)

{


// 1.Create a simple sphere. A pipeline is created.

// 1.新建球体,创建“管道pipeline”。

//  — 1.1 新建数据–“数据源Source”—

//      (1)球体

vtkSphereSource sphere = vtkSp