Feb 4th, 09
/
我用OSG做的虚拟手术的演示,虽然很粗糙,但也能够实现下面的功能了:
- 实现从影像设备上采集到DICOM格式的影像数据的功能。
- 实现从采集到的DICOM格式中提取相关数据,转换为虚拟手术系统内部格式的功能。
- 实现DICOM数据的2D显示功能,完成重采样、去噪点等图像学算法以提高图像质量。
- 实现图像的2D和3D分割,完成区域生长、Snake算法等的研究,实现仅需要少量人工介入就能将病变组织自动提取的功能。
- 实现了对感兴趣的组织进行标注和分离,并能够建立实时的3D立体模型。
- 重点研究和实现了高质量的实时光线追踪算法的三维重建算法,在此基础之上,研究出了如何将该算法和常规的光栅渲染图形进行混合的方法。
- 掌握了基于组织的三维立体切割方法。
- 掌握了真三维立体显示的关键技术,使最终的成像不局限于显示器的平面2D环境,达到一种触手可及的感受,具有很强的立体效果和沉溺感。
目前用OSG来做我看已经到了一种无法收场的局面了, Read More
Sep 10th, 07
/
物体的选取和拖拽算是GUI里面用得比较多的部分,特别是三维的选取和拖拽更是比较麻烦。最近钻研了一下,参考了osgManipulator的拖拽部分和osgPick的选取部分,实现了选取和拖拽。程序使用的方法不一定是最好的。给大家分享分享。如果大家有更好的例子,不妨拿出来一起讨论,谢谢:)
注:VS2005工程,请自行更改头文件、库文件地址和源代码中示例模型所在地。
点击下载此文件
Jun 5th, 07
/
最近学了C++/CLI,也写了一些小玩意儿体验了它的强大,昨天开始筹划将以前的弯管机的模拟程序用C++/CLI重写。
基本思路是将底层3D部分和上层GUI图形界面部分大体分离。最原始的做法是写一个C++的类,然后定义一些接口,然后用C++/CLI写一个Wrapper,然后用C#进行调用。这种做法其实不是很好,增加了很大的工作量,而且在写Wrapper的时候难免有很多重复性的赋值代码。 Read More
Apr 6th, 07
/
今天写了一个导出三角形的类,可以导出一个Group的所有三角形数据(包括Group的所有child),主要用于碰撞检测.比如有一个Group"自行车",这个Group包含有子Group"前轮"和子Group"后轮",子对象通过MatrixTransform与父对象相连.那么这个类可以将Group"自行车"包括"前轮"和"后轮"的三角形数据都导出到一个vector里面,方面用于碰撞检测.
代码片段如下: Read More
Apr 4th, 07
/
在OpenSceneGraph开发中,为了方便会经常使用到一些不是三角形片的数据,比如四边形等数据。例如画一个管子用四边形带比用三角形片好计算得多。比如现在我们要画一个由两个平面组成的面,我可以这样做: Read More