ActiViz(VTK的C#库)学习使用心得之八:三维文字显示和“告示板”效果

       

       一、三维文字的显示

        ActiViz提供了三维文字vtkVectorText类,可在三维窗口中实现三维文字的输出。效果如下:

a8ef4667a97cccbe5fe0da299bbe11a5518.jpg

       C#实现方法(在原有示例的基础上),添加vtkVectorText的“Source”、“Mapper”和“Actor”。主要代码如下:

        // Source部分

        vtkVectorText text3D = new vtkVectorText();
        text3D.SetText("VTK");

        // Mapper部分

        vtkPolyDataMapper text3DMapper = vtkPolyDataMapper.New();
        text3DMapper.SetInputConnection(text3D.GetOutputPort());

        //  Actor部分 

        vtkActor text3DActor = new vtkActor();
        text3DActor.SetMapper(text3DMapper); 
        text3DActor.SetScale(0.3, 0.3, 0.5);                      // 大小
        text3DActor.AddPosition(0, 0, 0);                         // 位置(文字左下角坐标)
        text3DActor.GetProperty().SetColor(0.0, 1.0, 0.0);        // 颜色

        //  渲染部分

        render1.AddActor(text3DActor);   

       注意:

        1.vtkVectorText类不支持中文输入。

        2.vtkVectorText类的vtkActor对象(三维文字)会随视点变化,如上图效果。     

        二、“告示板”效果

        若希望不论视点如何变换,都能看到文字的正面,那就要用到“告示板”技术了。所谓“告示板”,就是在三维控件中用一个单面显示一个特定内容,当视角变化时,该面也对应发生旋转,始终正面对着视点。VTK封装了vtkFollower类,可以简便的实现告示板效果。修改三维文字示例,可以实现如下效果:

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值