几何尺寸与公差论坛

 找回密码
 注册
查看: 19568|回复: 17

Intra3D下载地址

[复制链接]
发表于 2006-12-2 11:02:28 | 显示全部楼层 |阅读模式
 楼主| 发表于 2006-12-2 16:26:31 | 显示全部楼层

回复: Intra3D下载地址

附录B:Intra3D 2.0 软件说明书








B.1 Intra3D是什么?




Intra3D是基于OpenGL与Windows 9x/NT的交互式三维图形软件开发工具,可用于快速开发PC平台的交互式3D应用程序。其核心是集成了场景数据结构、图形对象、3D交互算法和3D用户界面的C++类库与COM对象库,支持Visual C++、Visual Basic、Delphi等语言的应用编程。Intra3D是免费软件,2.0标准版约25兆,其核心库7万多行C++代码全部公开。


Intra3D 的核心是可复用的软构件库:C++类库与COM库。两个库各有60余个程序模块,分4层设计,如图1所示。其中高层构件可以引用低层构件,但低层构件不能引用高层构件。Intra3D构件库的层次结构具有良好的可扩展性,用户可以方便地修改Intra3D的内核以适应不同的需求。




4、绘制与交互层



1、基础对象与函数层



3、场景图与节点层



2、图形对象层





B.2 主要功能与程序模块




B.2.1 基础对象与函数层


(1)定义了用于对象引用计数的内存管理基类;


(2)矢量、矩阵与四元组运算,鼠标跟踪球算法;


(3)点阵字体与三维矢量字体输出,常用于数据可视化图形的数据标注;


(4)图像输入输出以及纹理映射,支持BMP、GIF、JPEG、SGI、TGA等图像格式;


(5)常用几何图元的绘制,如锥、柱、球、环等,并支持Sweep形体,螺旋体的绘制;


(6)提供450余种材质,在第四层中可以交互式编辑这些材质。




B.2.2 图形对象层


图形对象能将数据转化为几何模型并可以绘制出来。图形对象的开发与应用问题密切相关,用户可以使用继承方法扩充新的图形对象,而不会影响到其它三层的构件。Intra3D 2.0提供了三类图形对象:(1)多边形模型对象有Model3DS与ModelOBJ;(2)数值图形对象有 ColumnChart3D, RibbonChart3D, LineChart2D 和BartChar2D;(3)常用几何对象有BoxObject、ConeObject、CylinderObject、SphereObject、 TorusObject、 TubeObject与SwaptObject等。




B.2.3场景图与节点层


场景的图(Scene Graph)是个有向无环图,主要节点有:


(1)SceneNode是所有节点的基类。在SceneNode中定义了局部坐标系以及相应的图形变换,使得场景中的所有节点均能以同样的操作方式实现三维交互。


(2)相机节点(CameraNode)支持平行投影与透视投影,支持多个相机切换。


(3)光源节点分为平行光源节点(DirLightNode)、点光源节点(PointLightNode)和锥光源节点(SpotLightNode)。


(4)形体节点(ShapeNode)用于引用图形对象,并处理图形对象的三维交互。


(5)GroupNode用于组合各个节点使之构成一个场景。




B.2.4绘制与交互层


该层的主要构件的有:场景视窗SceneView,OpenGL简单视察Window3D,以及用于编辑3D属性的对话。


SceneView构件封装了交互式绘制场景的所有细节,如消息处理、场景节点的遍历绘制、多重采样消锯齿、鼠标交互等。SceneView为开发者提供简洁的编程接口,可以快速创建交互式3D应用程序框架。


Window3D构件用于创建对话框中的3D视窗,比SceneView构件简洁。


Intra3D定制了众多的对话框用于编辑属性,常用的有:颜色编辑、字体编辑、材质编辑、材质库选择、光源编辑等对话。




B.2.5 C++类与COM对象列表



B.3 配置说明


B.3.1 计算机硬件配置


(1)CPU主频不低于200MHz;


(2)内存不低于64M;


(3)显示卡支持800*600真彩色;


(4)安装Intra3D 2.0标准版软件需占用25M硬盘空间。




B.3.2 目录结构


Intra3D 2.0 标准版软件分Doc、Book、Examples、Data、Source、Lib目录。可使用向导程序Tutor.exe快速了解Intra3D 2.0的目录结构,如图2所示。



图2 向导程序Tutor.exe


一、Doc 目录


该目录下存放Intra3D 2.0 所有文档,可用Word阅读。其中:


(1)Manual.doc 为软件说明书;


(2)Intra3D-DLL.doc 为C++类库手册;


(3)Intra3D-COM.doc 为COM库手册;


(4)Autor.doc 为开发者简介。




二、Book 目录


该目录下存放OpenGL编程必备的参考书《OpenGL Programming Guide》(用IE 浏览),以及本书作者著的《交互式三维图形技术与程序设计》的原稿(用Word阅读)。




三、Examples 目录


该目录下存放3D应用示例程序,分为 Visual C++ 版本与Visual Basic 版本(各有4个示例程序)。Visual C++ 版本的示例程序用Intra3D C++ 类库编写。Visual Basic 版本的示例程序用Intra3D COM库编写。




四、Data 目录


该目录下存放应用示例程序的数据,其中:


(1)Image 子目录下存放 BMP, GIF, JPEG, SGI, TGA 格式的图像,用于纹理映射。


(2)Chart 子目录下存放数值图形的数据。


(3)ModelOBJ 子目录下存放 Wavefront 公司的 .obj 模型。


(4)Model3DS-BMF子目录下存放 Autodesk 公司的 .3ds 模型,以及用于浏览 .3ds 模型的程序 View3DS.exe。View3DS.exe 能将 .3ds 模型转化为格式更加简单的.bmf模型。Intra3D 2.0 提供绘制 .bmf 模型的程序(不直接绘制.3ds 模型)。




五、Source 目录


该目录下存放C++类库与COM库的源程序,其中:


(1)Intra3D-DLL子目录下存放C++类库的源程序,有60余个程序模块,3万余行代码。Release 版本的类库文件为Intra3D.dll与Intra3D.lib。Debug版本的类库文件为Intra3D_d.dll与Intra3D_d.lib。


(2)Intra3D-COM子目录下存放COM类库的源程序,程序模块基本上与C++类库对应。所有COM接口的定义见Intra3D.idl 。Release 版本的COM库文件为 Intra3D.ocx与Intra3D.tlb。


(3)OpenGL-COM 子目录下存放OpenGL的COM库源程序。这是为了方便于 Visual Basic 调用OpenGL函数,而将OpenGL的一些常用函数组成相应的COM接口。COM接口的定义见OpenGL.idl 。Release版本的COM库文件为 OpenGL.ocx。


(4)OpenglWindow-COM子目录下存放用于创建简单OpenGL窗口的控件,该控件一般用于制作含有三维图形的对话。COM接口的定义见OpenglWindow.idl 。Release版本的COM库文件为 OglWindow.ocx。


上述(2)(3)(4)的源程序共有4万行C++代码。




六、Lib 目录


该目录下存放C++类库与COM库的最终文件,即Intra3D.dll、Intra3D.lib;Intra3D_d.dll、Intra3D_d.lib;Intra3D.ocx、OglWindow.ocx、OpenGL.ocx。Intra3D 2.0的安装程序将自动注册 .dll 与 .ocx 文件,并复制到Windows的System目录下。




B.4 用户常见疑问与答复




B.4.1 既然有了OpenGL,为什么还要使用Intra3D来开发三维图形应用程序?


OpenGL是国际上公认的3D图形工业标准,它不仅加速了3D应用程序的开发,而且使应用程序可移植性更好。随着OpenGL在Unix与PC平台的广泛应用,越来越多的3D应用程序采用OpenGL作为支撑库。OpenGL提供了数百个库函数,可方便地绘制具有真实感的3D图形。但是在开发交互式3D应用程序方面,OpenGL存在明显的不足:(1)OpenGL与窗口系统无关,不提供任何交互手段,必须由程序员自己编写所有的交互功能。(2)OpenGL 编程接口(API)是低级的C函数,不提供可重用(Reuse)的对象库或者应用程序框架,开发效率不高。


对于一个完整的交互式3D应用程序,图形的绘制只是一部分内容。Intra3D集成了场景数据结构、图形对象、3D交互算法和3D用户界面,弥补了OpenGL的不足,可以快速地开发高质量的交互式3D应用程序。




B.4.2 Intra3D与Open Inventor的区别?


Open Inventor是著名的商业软件,在Unix与PC平台得到了广泛的应用,被誉为是交互式3D软件开发工具的“事实标准”。Intra3D是作者博士毕业设计的阶段性作品,在功能与质量上均不及Open Inventor。主要的不同点:


(1)体系结构不同。Open Inventor是围绕Scene Graph开发的,可称大而全。Intra3D分四层设计,每层少而精,扩展灵活。


(2)Intra3D提供C++类库与COM库,支持Visual C++、Visual Basic、Delphi等语言的应用编程。Open Inventor是从SGI的IRIS Inventor发展而来的,由于需求背景不同,Open Inventor不具备Intra3D这种特征。


(3)Intra3D是个免费软件,所有源代码向用户开放。由于Intra3D是分层设计的,用户可以方便地修改内核以适应不同的需求。Open Inventor是商业软件,不免费、不公开源代码。




B.4.3 Intra3D与AutoCAD、3DS软件有什么区别?


面向的用户不同。


AutoCAD、3DS是一个可执行的3D应用软件。用户可方便地直接用于设计三维图形或动画等任务。用户购买AutoCAD、3DS软件后,仅拥有使用权,不拥有版权。


Intra3D不是一个可执行的3D应用软件,它的用户是程序员。必须经过程序员二次开发才能变成一个应用软件。应用软件的版权属于其开发者,与Intra3D的版权无关。




B.4.4 目前国内有无与Intra3D 2.0相似的三维图形软件开发工具?


一般地,从事计算机图形学相关工作的机构都有内部使用的3D软件开发工具。目前作者尚未在国内发现与Intra3D 2.0相似的、免费的交互式三维图形软件开发工具。用户可以从Internet获取更多不同用途的3D软件开发工具,见






B.4.5 Intra3D 2.0有什么缺点


Intra3D软件是作者在学校里开发出来的,它存在两大缺点:一是需求不明确,使软件内容泛而不深;二是没有条件进行用户测试,程序存在错误。作者把软件的源程序公开,免费赠送,目的是希望用户能选取一些有价值的程序。同时对作者提出批评与建议,以便于改进软件。




 楼主| 发表于 2006-12-2 16:33:54 | 显示全部楼层

回复: Intra3D下载地址

发表于 2007-1-17 16:03:04 | 显示全部楼层

回复: Intra3D下载地址

三、Examples 目录

该目录下存放Intra3D应用示例程序,分为 Visual C++ 版本与Visual Basic 版本(各有4个示例程序)。Visual C++ 版本的示例程序用Intra3D C++ 类库编写。Visual Basic 版本的示例程序用Intra3D COM库编写。



四、Data 目录

该目录下存放应用示例程序的数据,其中:

1Image 子目录下存放 BMP, GIF, JPEG, SGI, TGA 格式的图像,用于纹理映射。

2Chart 子目录下存放数值图形的数据。

3ModelOBJ 子目录下存放 Wavefront 公司的 .obj 模型。

4Model3DS-BMF子目录下存放 Autodesk 公司的 .3ds 模型,以及用于浏览 .3ds 模型的程序 View3DS.exeView3DS.exe 能将 .3ds 模型转化为格式更加简单的 .bmf模型。Intra3D 2.0 提供绘制 .bmf 模型的程序。



五、Source 目录

该目录下存放C++类库与COM库的源程序,其中:

1Intra3D-DLL子目录下存放C++类库的源程序,有60余个程序模块,3万余行代码。Release 版本的类库文件为Intra3D.dllIntra3D.libDebug版本的类库文件为Intra3D_d.dllIntra3D_d.lib

2Intra3D-COM子目录下存放COM类库的源程序,程序模块基本上与C++类库对应。所有COM接口的定义见Intra3D.idl Release 版本的COM库文件为 Intra3D.ocxIntra3D.tlb

3OpenGL-COM 子目录下存放OpenGLCOM库源程序。这是为了放便于 Visual Basic 调用OpenGL函数,而将OpenGL的一些常用函数组成相应的COM接口。COM接口的定义见OpenGL.idl Release版本的COM库文件为 OpenGL.ocxOpenGL.tlb

4OpenglWindow-COM子目录下存放用于创建简单OpenGL窗口的控件,该控件一般用于制作含有三维图形的对话。COM接口的定义见OpenglWindow.idl Release版本的COM库文件为 OglWindow.ocxOglWindow.tlb

       上述(2)(3)(4)的源程序共有4万行C++代码。



六、Lib 目录

该目录下存放C++类库与COM库的最终文件,即Intra3D.dllIntra3D.libIntra3D_d.dllIntra3D_d.libIntra3D.ocxOglWindow.ocxOpenGL.ocxIntra3D 2.0的安装程序将自动注册 .dll .ocx 文件,并复制到WindowsSystem目录下。



1.5.2 Visual C++ 编译环境设置

       Intra3D 2.0C++ 类库与COM 库均用Visual C++ 6.0开发。

一、制作C++ 类库

       C++ 类库的工程文件Intra3D.dsp位于Intra3D\Source\Intra3D-DLL目录下。为了正确编译,应将Visual C++ Options菜单的Directories 属性设置如下:

1Include属性添加 \Intra3D\Source\Intra3D-DLL \Intra3D\Source\Intra3D-DLL\ Include;

2Lib属性添加 \Intra3D\Source\Intra3D-DLL

在制作Release版本时,在工程文件中添加 Intra3D.def文件。在制作Debug版本时,在工程文件中添加 Intra3D_d.def文件。最后应将编译生成的 .dll .lib文件复制到Intra3D\Lib目录下。



二、制作COM

       Intra3D.ocx的工程文件Intra3D.dsp位于Intra3D\Source\Intra3D-COM目录下。为了正确编译,应将Visual C++ Options菜单的Directories 属性设置如下:

1Include属性添加 \Intra3D\Source\Intra3D-COM;

2Lib属性添加 \Intra3D\Source\Intra3D-COM

在编译OpenGL.ocx OglWindow.ocx的工程文件时,采用Visual C++的缺省设置即可。最后应将编译生成的 .ocx .tlb文件复制到Intra3D\Lib目录下。



三、使用C++类库编写3D应用程序

使用Intra3D 2.0 C++类库编写3D应用程序,应将Visual C++ Options菜单的Directories 属性设置如下:

1Include属性添加路径 \Intra3D\Source\Intra3D-DLL\Include;

2Lib属性添加路径 \Intra3D\Lib

       Release版本的3D应用程序使用 Intra3D.dll Intra3D.libDebug版本的3D应用程序使用 Intra3D_d.dll Intra3D_d.lib。用户可参考Intra3D\Examples\VisualC++ 目录下的4个示例程序。



1.5.3 Visual Basic 编译环境设置

Visual Basic编写3D应用程序时,一般要同时使用Intra3D.ocxOglWindow.ocx OpenGL.ocx。在Visual Basic Components属性中添加Intra3D.ocx OglWindow.ocx,在References 属性中添加OpenGL.ocx即可。用户可参考Intra3D\Examples\VisualBasic目录下的4个示例程序。

发表于 2007-1-17 16:05:45 | 显示全部楼层

回复: Intra3D下载地址

有没有类库文档?谢谢
 楼主| 发表于 2007-1-18 09:37:43 | 显示全部楼层

回复: Intra3D下载地址

我查查,您也可以把Intra3D下载下来,自己找找。
注:Intra3D本身是开源的代码。
发表于 2007-1-23 21:15:09 | 显示全部楼层

回复: Intra3D下载地址

正在找,谢谢了
发表于 2007-2-4 12:07:37 | 显示全部楼层

回复: Intra3D下载地址

谢谢啊,到处在找
发表于 2007-2-9 19:32:03 | 显示全部楼层

回复: Intra3D下载地址

看看。
发表于 2007-2-22 20:08:15 | 显示全部楼层

回复: Intra3D下载地址

thanks
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-4-26 17:42 , Processed in 0.055748 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表