- 浏览: 838774 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
loveseed1989:
您好,我用您的方法运行Cone.java,会给我报java.l ...
vtk学习笔记 --- 编译vtk库和java库 -
60love5:
60love5 写道首先谢谢你的解析,但你这个验证可见性的小程 ...
多线程中共享对象的可见性 -
60love5:
首先谢谢你的解析,但你这个验证可见性的小程序是存在问题的,你的 ...
多线程中共享对象的可见性 -
Gamehu520:
...
java 中的Unsafe -
shanpao1234560:
这个list不是静态的第一种情况下也会有线程安全的问题么,求指 ...
一个看似线程安全的示例
有的时候,在显示三维物体时,我们希望知道当前场景对应的坐标系位置或者方向,这样在旋转物体的时候,就能够很清楚地看到当前正对这视野的是什么面xy平面,还是y轴等信息了。
在vtk库中有一个vtkAxesActor负责显示坐标系,在查阅了vtk的wiki之后,找到了两个示例,在这里将两者结合起来,放在同一个例子中显示,并用java代码重写。其中,第一个示例:http://vtk.org/Wiki/VTK/Examples/Cxx/GeometricObjects/Axes 是直接将vtkAxesActor加入到renderer中进行显示,而第二个示例:
http://vtk.org/Wiki/VTK/Examples/Cxx/Visualization/DisplayCoordinateAxes 是以Widget的方式在一个独立的视口中显示,比较适合用来放在右下角指示当前的坐标系位置。
最后的效果如下图:
相应的java代码如下:
/** * 显示坐标系 * 代码参考: * http://vtk.org/Wiki/VTK/Examples/Cxx/Visualization/DisplayCoordinateAxes * http://vtk.org/Wiki/VTK/Examples/Cxx/GeometricObjects/Axes */ public class DisplayCoordinateAxes { static { System.loadLibrary("vtkCommonJava"); System.loadLibrary("vtkFilteringJava"); System.loadLibrary("vtkIOJava"); System.loadLibrary("vtkImagingJava"); System.loadLibrary("vtkGraphicsJava"); System.loadLibrary("vtkRenderingJava"); System.loadLibrary("vtkChartsJava"); System.loadLibrary("vtkGenericFilteringJava"); System.loadLibrary("vtkGeovisJava"); System.loadLibrary("vtkViewsJava"); System.loadLibrary("vtkWidgetsJava"); System.loadLibrary("vtkVolumeRenderingJava"); System.loadLibrary("vtkInfovisJava"); System.loadLibrary("vtkHybridJava"); } public static void main(String[] args) { //创建一个球体 vtkSphereSource sphereSource = new vtkSphereSource(); sphereSource.SetCenter(0.0, 0.0, 0.0); sphereSource.SetRadius(1.0); sphereSource.Update(); vtkPolyDataMapper mapper = new vtkPolyDataMapper(); mapper.SetInput(sphereSource.GetOutput()); vtkActor actor = new vtkActor(); actor.SetMapper(mapper); //为了能够看清楚vtkAxesActor,特意设置的透明度 actor.GetProperty().SetOpacity(0.3); vtkRenderer renderer = new vtkRenderer(); vtkRenderWindow renderWindow = new vtkRenderWindow(); renderWindow.AddRenderer(renderer); vtkRenderWindowInteractor renderWindowInteractor = new vtkRenderWindowInteractor(); renderWindowInteractor.SetRenderWindow(renderWindow); renderer.AddActor(actor); renderer.SetBackground(.2, .3, .4); //使用vtkTransform对vtkAxesActor进行转换,默认位于(0,0,0) vtkTransform transform = new vtkTransform(); transform.Translate(1.0, 0.0, 0.0); //1、在同一个视口中显示坐标系,直接添加到renderer中 vtkAxesActor axes1 = new vtkAxesActor(); renderer.AddActor(axes1); axes1.SetUserTransform(transform); vtkAxesActor axes = new vtkAxesActor(); //2、以Widget方式,在左下角的视口中显示坐标系,可进行鼠标交互 vtkOrientationMarkerWidget widget = new vtkOrientationMarkerWidget(); widget.SetOutlineColor(0.9300, 0.5700, 0.1300); widget.SetOrientationMarker(axes); widget.SetInteractor(renderWindowInteractor); widget.SetViewport(0.0, 0.0, 0.4, 0.4); widget.SetEnabled(1); widget.InteractiveOn(); renderer.ResetCamera(); renderWindow.Render(); // Begin mouse interaction renderWindowInteractor.Start(); } }
发表评论
-
基于Oracle Streams + Oracle AQ 捕获变更,发布变更(二)
2014-11-21 22:23 3169要求:使用Oracle Streams捕获某个用户下部 ... -
基于Oracle Streams + Oracle AQ 捕获变更,发布变更(一)
2014-11-20 22:23 2725要求:使用Oracle Streams捕获某个用户下部分表 ... -
如何去掉在浏览器中打开java applet时的警告对话框
2013-08-24 12:10 6957好久没更新博客了! 最近,由于项目要求,需要将sw ... -
Android 内存泄露笔记
2013-03-05 23:10 01、大部分内存泄露都是错误的持有了Activity或者Con ... -
java 虚拟机总结 【思维导图】
2012-12-22 20:11 2064java虚拟机总结思维导图: 参考《深入理解jav ... -
Java虚拟机字节码执行引擎 【思维导图】
2012-12-22 19:51 1602java虚拟机字节码执行引擎思维导图总结: 参考《深入理 ... -
java 垃圾回收相关总结 【思维导图】
2012-12-21 19:03 3240java垃圾回收相关总结: 参考《深入理解java ... -
java并发中的延迟初始化
2012-12-12 19:17 4655在《java并发编程实战 ... -
java同步容器与并发容器
2012-12-09 18:07 4313何为同步容器:可以简 ... -
一个看似线程安全的示例
2012-12-09 14:56 4987在《java并发编程实战》第四章4.4.1节给出了一个程序示 ... -
多线程中的long和double
2012-12-08 19:26 4134在看一些代码的时候,会发现在定义long型和double型的 ... -
多线程中共享对象的可见性
2012-12-08 18:52 5069在阅读《java并发编程实战》的第三章的时候,看到书中的一个 ... -
一个快速、轻量级 Collection 库 Trove
2012-12-07 09:35 3707Trove一个快速、轻量级针对java原子类型(byte,i ... -
java 中的Unsafe
2012-12-05 22:25 32683在阅读AtomicInteger的源码时,看到了这个类:su ... -
在ubuntu10上编译Thrift0.8.0
2012-08-01 15:34 2111下载thrift0.8.0 ,地址: http:// ... -
生活小工具--记账小助手1.0发布
2012-05-31 15:08 1651因为自己平时喜欢记账,把每日的消费情况都记录下来,所以希望找 ... -
话费速查升级版v1.3发布
2012-05-04 12:47 1382前段时间开发了一个话费速查的小应用,最近一直保持每周更新一个 ... -
编译zeromq的java绑定:jzmq
2012-05-03 22:47 134951、 下载zeromq源码:http://www.ze ... -
Android软件包静默安装小应用 - 附源码
2012-04-21 20:50 12351老早之前,写了一个android软件包静默安装的应用,放在工 ... -
最方便的联通话费,余额查询软件来了! --- 联通话费速查v1.2
2012-04-12 18:01 3962软件介绍: 联通话费速查是一款针对联通 ...
相关推荐
NULL 博文链接:https://aswang.iteye.com/blog/1250669
VTK-8.2.0-cp38-cp38-win_amd64
VTK-8.1.0是安装mayavi-4.5.0+vtk81-cp36-cp36m-win_amd64.whl的基础模块,为后期numpy模块中图像的显示做铺垫。
VTK-9.0.3-cp310-cp310-win_amd64
The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several ...
VTK-5.0.1-control-1.1.zip 开发三维软件必备
VTK-7.1.1-cp36-cp36m-win32
VTK-9.0.1-cp36-cp36m-win_amd64
VTK安装全部文件,从官方网站下载的最新版本5.2
VTK的最新版本,有兴趣可以下载玩玩~~
VTK-Designer-User-Manual
VTK是一个开放的、面向对象的软件系统,主要功能是计算机图形学、可视化和图像处理。尽管它庞大和复杂,但它是为易学易用设计的,一旦你学会了基本的面向对象的设计和实现方法。
资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:vtk-8.1.0-cp36-cp36m-win_amd64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
vtk-user-'s-guide-中文版.doc vtk-user-'s-guide-中文版.doc vtk-user-'s-guide-中文版.doc
从事医疗软件、CAE软件等开发的小伙伴可以用作参考。文件来自互联网,鄙人在阅读的过程中增加了完整书签目录。
VTK-9.0.3-cp38-cp38-win_amd64
4.9 vtk坐标和坐标系---------------------------------------------------------------------------40 4.10 控制vtk演员2D----------------------------------------------------------------------------41 ...
VTK-6.1.0-vc14-64
VTK-9.0.3-cp310-cp310-win32
VTK-9.0.1-cp36-cp36m-win32