vtk坐标系的两种显示方法.docx_第1页
vtk坐标系的两种显示方法.docx_第2页
vtk坐标系的两种显示方法.docx_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

vtk显示坐标系VTK库中有一个vtkAxesActor负责显示坐标系,在查阅了vtk的wiki之后,找到了两个示例,在这里将两者结合起来,放在同一个例子中显示,并用java代码重写。其中,第一个示例是直接将vtkAxesActor加入到renderer中进行显示,而第二个示例是以Widget的方式在一个独立的视口中显示,比较适合用来放在右下角指示当前的坐标系位置。最后的效果如下图:相应的java代码如下:Java代码1. /*2. *显示坐标系3. *代码参考:4. */Wiki/VTK/Examples/Cxx/Visualization/DisplayCoordinateAxes5. */Wiki/VTK/Examples/Cxx/GeometricObjects/Axes6. */7. publicclassDisplayCoordinateAxes8. static9. System.loadLibrary(vtkCommonJava);10. System.loadLibrary(vtkFilteringJava);11. System.loadLibrary(vtkIOJava);12. System.loadLibrary(vtkImagingJava);13. System.loadLibrary(vtkGraphicsJava);14. System.loadLibrary(vtkRenderingJava);15. System.loadLibrary(vtkChartsJava);16. System.loadLibrary(vtkGenericFilteringJava);17. System.loadLibrary(vtkGeovisJava);18. System.loadLibrary(vtkViewsJava);19. System.loadLibrary(vtkWidgetsJava);20. System.loadLibrary(vtkVolumeRenderingJava);21. System.loadLibrary(vtkInfovisJava);22. System.loadLibrary(vtkHybridJava);23. 24. 25. publicstaticvoidmain(Stringargs)26. /创建一个球体27. vtkSphereSourcesphereSource=newvtkSphereSource();28. sphereSource.SetCenter(0.0,0.0,0.0);29. sphereSource.SetRadius(1.0);30. sphereSource.Update();31. 32. vtkPolyDataMappermapper=newvtkPolyDataMapper();33. mapper.SetInput(sphereSource.GetOutput();34. 35. vtkActoractor=newvtkActor();36. actor.SetMapper(mapper);37. /为了能够看清楚vtkAxesActor,特意设置的透明度38. actor.GetProperty().SetOpacity(0.3);39. 40. vtkRendererrenderer=newvtkRenderer();41. vtkRenderWindowrenderWindow=newvtkRenderWindow();42. renderWindow.AddRenderer(renderer);43. 44. vtkRenderWindowInteractorrenderWindowInteractor=newvtkRenderWindowInteractor();45. renderWindowInteractor.SetRenderWindow(renderWindow);46. 47. renderer.AddActor(actor);48. renderer.SetBackground(.2,.3,.4);49. /使用vtkTransform对vtkAxesActor进行转换,默认位于(0,0,0)50. vtkTransformtransform=newvtkTransform();51. transform.Translate(1.0,0.0,0.0);52. /1、在同一个视口中显示坐标系,直接添加到renderer中53. vtkAxesActoraxes1=newvtkAxesActor();54. renderer.AddActor(axes1);55. axes1.SetUserTransform(transform);56. 57. vtkAxesActoraxes=newvtkAxesActor();58. /2、以Widget方式,在左下角的视口中显示坐标系,可进行鼠标交互59. vtkOrientationMarkerWidgetwidget=newvtkOrientationMarkerWidget();60. widget.SetOutlineColor(0.9300,0.5700,0.1300);61. widget.SetOrientationMarker(axes);62. widget.SetInteractor(renderWindowInteractor);63. widget.SetViewport(0.0,0.0,0.4,0.4);64. widget.SetEnabled(1);65. widget.InteractiveOn();66.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论