STK软件中三维模型的格式分析及制作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0.0 2.7 0.O 7.0 2.600.0 14.0 2.2 0.O 29.2 0.5 0.0 EndRevolve EndComponent
上述语句中,Scale是指比例缩放,稍后将作详细的介绍;StartAngle开始旋转角度0.0; EndAngle终止旋转角度359.99;NumVerts表示基线上点的个数;Data下面的数据为基线 上点的坐标。
上述语句中Slices表示绘制的圆球分作20份绘制的,Stacks表示每一份又分作20块, 当这两个参数值越大时,绘制的圆越精细。
3.2.8引用其他物体(Rear)
当一个模型由多个组件组成时,需要用到引用(Refer),将一个圆和一个柱体组合在 以其如下
Component DomeAssm Refer Component Dome2 EndRefer Refer Component DomeBase EndRefer
图2螺旋体
269
№Radius 1.0
EndHel仅 EndComponent
该螺旋体的变数用NumSides表示,圈数用NumCoils表示,每个圈的高度为10,每 个圈的内切园半径为O.75,螺旋体线圈的线半径用WireRadius描述。
3.2.4多角形(Polygon)
绘制一个物体的一个面通常用多角形(Polygon)方法实现,下面一个例子用于实现坦 克顶部一个四角形:
*.mdl模型文件主要用于太空飞船、航天器、地面设备、地面建筑以及靶标等。该模 型的语法主要有组件(Component)、简单模型(Primitives)、转换(Transformations)三部 分。
3.1组件(Component)
一个完整的模型是由多个简单的物体按照一定的层次组合在一起形成的。 比如要制作一个圆锥型的物体就要使用一下描述语言:
4三维模型的制作
要制作stk软件使用的火箭飞船模型,首先要得到火箭飞船的大小尺寸,按照比例在
3dmax中绘制出三维的火箭飞船各个组件的模型,在3dmax中安装xplug插件,将火箭飞 船输出成木.X文件格式并保留纹理坐标。
使用VC编辑器打开宰.x文件获取各个组件的三角形顶点坐标及纹理坐标,按照上面讲
STK软件中三维模型的格式分析及制作
高 杰 罗丽娟
(中国酒泉发射中心·甘肃酒泉·732750)
摘要对STK软件中VO模块的三维模型文件格式做了深入的探讨,认真研究 了三维模型文件mdl中的语法,并借助相关资料,制作出自己的三维模型. 关键词三维:模型:组件
1引言
STK航天工业领先的商品化软件,用于分析复杂的陆地、海洋、航空及航天任务,确 定最佳解决方案,并提供图表及报告形式的分析结果。它提供了分析引擎用来计算数据, 通过二维地图形象地显示卫星或空间对象(运载火箭、导弹、飞机等)的时基信息。
STK功能强大,不能尽述其详,下面针对与我们联系紧密的VO模块中使用的三维模 制作型进行介绍。
3三维模型文件格式分析
VO是STK三维显示环境的核心,它给航天任务分析和可视化作业带来革命性的改变。
267
为了扩展VO的显示能力,AGI公司提供了高级三维显示模块(STK/AVO)和高分辨率地 球影像数据(STK/VO Earth Imagery分辨率lkm)。高级VO包括高级可视化功能及影像输 出优化功能,如显示三维地形、制作复杂的动画、更多逼真场景模型,以及通过网络实时 播放模块(ST到w曲Cast)在互联网或局域网上实时输出二维/三维动画。
挣第一个面的半径、法向 撑第二个面的半径 舟第二个面的法向
268
Length 3
挣柱体的长度
EndCylinder
EndComponent
上述语句中FaceColor的功能是声明表面颜色,格式为%RRRBBBGGG,特殊颜色在
RGBData文件夹下的RGB.txt文件中声明。Translate为设置物体的位置。Cylinder声明该 物体为柱体。绘制柱体底边的点数NumSides为16个,第一个底的半径FacelRadius为1, 法向为1 0 0。第二个底边的半径Face2Radius为1,法向为1 0 0,柱体的长度为3,柱体
3.2.1柱体(Cylinder)
柱体的要用Cylinder来声明,用来绘制各种柱体,锥体等圆柱形物体。
Component DomeBase FaceColor gray20 Translate 6.48 0 0
撑设置表面颜色 撑设置位置
Cylinder NumSides 16
l FacelNormal l 0 0 Face2Radius 1 Face2Normal 1 0 0
3.2.5不规则物体(PolygonMesh)
不规则物体一般采用(PolygonMesh)方式描述,下面一段例子绘制了一个战斗机座 舱盖子。
Component fuselage FaceColor DimGray
PolygonMesh NumVerts 8 14
Data .6.677274.7.523 157-0.224308 .6.676358.3.998442-0.784426 .14.847510.5.079158.0.033242 .15.159328-4.926182.0.056863 .2.921205.3.525815—0.810024 .3.570766.7.826501—0.206307
0.0 3.05—0.03 0.0 3.05 0.03 0.0—3.05 O.03 0.0.3.05.0.03 EndExtrusion
EndComponent
上述为制作太阳帆板的一段描述语言, Length表示太阳帆板的长度为11.5,关键点个 数NumVerts为4,Data以下为四个点的坐标(sx
3.2.7球体(Sphere)
如果需要绘制球体则需要用到球体 (Sphere),下面绘制了一个半径为30的球 体。
Component Dome2 Sphere
FaceColor red
图3球体
27l
Radius 30 Slices 20 Stacks 20 EndSphere Translate0 00 EndComponent
1)旋转(Rotate):语法为Rotate<Ⅸ><妒<胗
下面一段语句用于组件绕x轴旋转90度
Refer Rotate 90.0 0.0 0.0 Component DomeBase EndRefer
2)比例缩放(Scale):语法为Scale<sx><sy><sz> 下面一段语句是将DomeBase组件演着X、z轴方向放大2倍,Y轴方向不变
VO模块中使用主要一下几种模型文件:奉.mdl、木.clds、*.cld、木.glb、*rra、宰.dte等。 在这几种文件格式中,半.mall文件和幸.rra文件是描述VO场景中物体Model的文件,率.cld 文件和*.clds文件是描述各个星球天空云状的模型文件,聿.glb文件用于描述星球地貌的文 件,水.dte文件用于AVO模块,描述星球表面地形的模型文件。除了*.mdl文件,其他文 件都是二进制ASCII文件,没有文件格式,不能解析文件,下面首先介绍木.mdl文件的语 法。
3.2.6旋转体(Revolve)
旋转体用于绘制各种中心对称的物体,例如:
Component AflFuselage Revolve Scale 1.0 0.82 1.O FaceColor gray30 StartAngle 0.0 EndAngle 359.99 NumRevolve 1 8 NumVerts 4 Data
STK软件在航空航天领域的应用有其他软件不可比拟的优越性。其强Baidu Nhomakorabea的数据库信息 为宇宙探索提供了精确的数据资源。
2 STK软件简介
STK软件是美国AGI公司的主要产品,它以其自身强大的功能在世界各个不同的领域 的得到了广泛的应用,其核心能力包括:生成轨道/弹道星历表、计算访问时间、遥感器覆 盖分析。为扩充STK的分析能力,STK提供了STKIPro专业版,功能包括轨道预报、姿 态调整、多种坐标类型和坐标系、多种遥感器类型、可见性约束、以及城市、地面站和恒 星数据库。它的产品主要包括以下模块:三维显示模块(vo)、高级三维显示模块(AVO)、 轨道机动模块、链路分析模块、通信分析模块、接近分析模块、覆盖分析模块、拦截飞行 工具模块、导弹飞行工具、精确定轨系统、雷达分析模块、空间环境分析模块、高分辨率 数字地图、高分辨率地球影响、雷达高级分析模块、全球三维数字地形、链接模块与服务 器、网络实时播放模块、MATLAB软件接口、分布式仿真模块、地理信息软件接口、程序 员开发库。
描述语言结束(EndCylinder)。
3.2.2可展开物体(Extrusion)
可以用于制作太阳帆板等可伸展的物体。例如:
Component SlrPnl Extrusion
Translate 0.2 0.0 0.0
FaceColor blue4 Length 11.5 NumVerts 4 Data
NumPolys 1 576 Polys
3 350 251 114
270
3 358 349 357 3 3 2 341 3 401 9 334 3 813 93 369 3 556 545 763
EndPolygonMesh EndComponent NumVerts的个数规定了Data下面三维坐标点的个数,NumPolys的个数规定了网格 (Polys)的个数,(3 350 251 114)中第一个参数表示了网格的顶点个数,后面的数字表示 每个项点的索引号。
到的不规则网格物体(PolygomMesh)处理方法将各个部件作成*.mdl格式的文件。 将各个组件按照各自在三维空间的位置拼合起来就作成了三维的火箭飞船模型。 下面是在火箭飞船模型制作中的部分组件,在木.mdl文件格式中撑以后的语句表示注释。 群助推器
Component Test
Cylinder
EndCylinder EndComponent
在Component和EndComponent语句之间构造组件。
3.2简单模型(Primitives)
主要有以下几种:柱体(Cylinder)、可展开物体(Extrusion).螺旋体(Helix)、多角 形(Polygon)、不规则网格物体(PolygonMesh)、旋转体(Revolve)、表面(Skin)、球体 (Sphere)、引用其他物体(Refer)。下面一一举例说明各种简单模型的构造方法:
sy sz)。
3.2.3螺旋体(Helix)
图l柱体
Helix主要用于制作天线等螺旋物体。下面 的例子为制作一个23圈的10边形螺旋体。
Component Helixl Helix FaceColor gray40 NumSides 10 NumCoils 23 CoilHeight 1 0.O CoilRadius 0.75
EndComponent 图4球体与柱体的组合体
在使用引用时,需要精确的在空间定位同时还要对组件安比例缩放,这是就需要用到 下面的语法。
3.3转换(Transformations)
转换主要包括组件三维坐标转换和材质的位置变换。用于对模型或材质在自身坐标系 下进行定位。组件的三维坐标转换有以下三种方法。
Refer Scale 2.0 1.0 2.O Component DomeBase EndRefer
272
3)改变组件在当前坐标系中的位置(Translate):语法为Translate<改><ty><tz> 材质的位置变换也同样包括三种方法:TxRotate<rX><ry><r庐、TxScale<sx><sy> <sZ>和TxTranslate<tx><ty><tz>他们的用法与三维空间转换的用法相同,不过这三种方法 是对材质进行操作的。 上述方法只能用于最基本的模型制作。对于特殊的模型,仅仅拥有上述的基本方法是 不够的,还需要得到模型对应的网格信息、材质、纹理坐标等信息。下面以火箭飞船这一 复杂的模型为例,介绍复杂模型的建模过程。
Component TankTurretCtrBk Polygon FaceColor DarkOliveCaeen4 NumVerts4 Data O.04.1 0.0 0.04.1 1.8 O.0-4.1 1.8 0.0 4.1 0.0 E】【ldPolygon
EndComponent
Data语句下面的四个空间点必须在同一个平面上。
上述语句中,Scale是指比例缩放,稍后将作详细的介绍;StartAngle开始旋转角度0.0; EndAngle终止旋转角度359.99;NumVerts表示基线上点的个数;Data下面的数据为基线 上点的坐标。
上述语句中Slices表示绘制的圆球分作20份绘制的,Stacks表示每一份又分作20块, 当这两个参数值越大时,绘制的圆越精细。
3.2.8引用其他物体(Rear)
当一个模型由多个组件组成时,需要用到引用(Refer),将一个圆和一个柱体组合在 以其如下
Component DomeAssm Refer Component Dome2 EndRefer Refer Component DomeBase EndRefer
图2螺旋体
269
№Radius 1.0
EndHel仅 EndComponent
该螺旋体的变数用NumSides表示,圈数用NumCoils表示,每个圈的高度为10,每 个圈的内切园半径为O.75,螺旋体线圈的线半径用WireRadius描述。
3.2.4多角形(Polygon)
绘制一个物体的一个面通常用多角形(Polygon)方法实现,下面一个例子用于实现坦 克顶部一个四角形:
*.mdl模型文件主要用于太空飞船、航天器、地面设备、地面建筑以及靶标等。该模 型的语法主要有组件(Component)、简单模型(Primitives)、转换(Transformations)三部 分。
3.1组件(Component)
一个完整的模型是由多个简单的物体按照一定的层次组合在一起形成的。 比如要制作一个圆锥型的物体就要使用一下描述语言:
4三维模型的制作
要制作stk软件使用的火箭飞船模型,首先要得到火箭飞船的大小尺寸,按照比例在
3dmax中绘制出三维的火箭飞船各个组件的模型,在3dmax中安装xplug插件,将火箭飞 船输出成木.X文件格式并保留纹理坐标。
使用VC编辑器打开宰.x文件获取各个组件的三角形顶点坐标及纹理坐标,按照上面讲
STK软件中三维模型的格式分析及制作
高 杰 罗丽娟
(中国酒泉发射中心·甘肃酒泉·732750)
摘要对STK软件中VO模块的三维模型文件格式做了深入的探讨,认真研究 了三维模型文件mdl中的语法,并借助相关资料,制作出自己的三维模型. 关键词三维:模型:组件
1引言
STK航天工业领先的商品化软件,用于分析复杂的陆地、海洋、航空及航天任务,确 定最佳解决方案,并提供图表及报告形式的分析结果。它提供了分析引擎用来计算数据, 通过二维地图形象地显示卫星或空间对象(运载火箭、导弹、飞机等)的时基信息。
STK功能强大,不能尽述其详,下面针对与我们联系紧密的VO模块中使用的三维模 制作型进行介绍。
3三维模型文件格式分析
VO是STK三维显示环境的核心,它给航天任务分析和可视化作业带来革命性的改变。
267
为了扩展VO的显示能力,AGI公司提供了高级三维显示模块(STK/AVO)和高分辨率地 球影像数据(STK/VO Earth Imagery分辨率lkm)。高级VO包括高级可视化功能及影像输 出优化功能,如显示三维地形、制作复杂的动画、更多逼真场景模型,以及通过网络实时 播放模块(ST到w曲Cast)在互联网或局域网上实时输出二维/三维动画。
挣第一个面的半径、法向 撑第二个面的半径 舟第二个面的法向
268
Length 3
挣柱体的长度
EndCylinder
EndComponent
上述语句中FaceColor的功能是声明表面颜色,格式为%RRRBBBGGG,特殊颜色在
RGBData文件夹下的RGB.txt文件中声明。Translate为设置物体的位置。Cylinder声明该 物体为柱体。绘制柱体底边的点数NumSides为16个,第一个底的半径FacelRadius为1, 法向为1 0 0。第二个底边的半径Face2Radius为1,法向为1 0 0,柱体的长度为3,柱体
3.2.1柱体(Cylinder)
柱体的要用Cylinder来声明,用来绘制各种柱体,锥体等圆柱形物体。
Component DomeBase FaceColor gray20 Translate 6.48 0 0
撑设置表面颜色 撑设置位置
Cylinder NumSides 16
l FacelNormal l 0 0 Face2Radius 1 Face2Normal 1 0 0
3.2.5不规则物体(PolygonMesh)
不规则物体一般采用(PolygonMesh)方式描述,下面一段例子绘制了一个战斗机座 舱盖子。
Component fuselage FaceColor DimGray
PolygonMesh NumVerts 8 14
Data .6.677274.7.523 157-0.224308 .6.676358.3.998442-0.784426 .14.847510.5.079158.0.033242 .15.159328-4.926182.0.056863 .2.921205.3.525815—0.810024 .3.570766.7.826501—0.206307
0.0 3.05—0.03 0.0 3.05 0.03 0.0—3.05 O.03 0.0.3.05.0.03 EndExtrusion
EndComponent
上述为制作太阳帆板的一段描述语言, Length表示太阳帆板的长度为11.5,关键点个 数NumVerts为4,Data以下为四个点的坐标(sx
3.2.7球体(Sphere)
如果需要绘制球体则需要用到球体 (Sphere),下面绘制了一个半径为30的球 体。
Component Dome2 Sphere
FaceColor red
图3球体
27l
Radius 30 Slices 20 Stacks 20 EndSphere Translate0 00 EndComponent
1)旋转(Rotate):语法为Rotate<Ⅸ><妒<胗
下面一段语句用于组件绕x轴旋转90度
Refer Rotate 90.0 0.0 0.0 Component DomeBase EndRefer
2)比例缩放(Scale):语法为Scale<sx><sy><sz> 下面一段语句是将DomeBase组件演着X、z轴方向放大2倍,Y轴方向不变
VO模块中使用主要一下几种模型文件:奉.mdl、木.clds、*.cld、木.glb、*rra、宰.dte等。 在这几种文件格式中,半.mall文件和幸.rra文件是描述VO场景中物体Model的文件,率.cld 文件和*.clds文件是描述各个星球天空云状的模型文件,聿.glb文件用于描述星球地貌的文 件,水.dte文件用于AVO模块,描述星球表面地形的模型文件。除了*.mdl文件,其他文 件都是二进制ASCII文件,没有文件格式,不能解析文件,下面首先介绍木.mdl文件的语 法。
3.2.6旋转体(Revolve)
旋转体用于绘制各种中心对称的物体,例如:
Component AflFuselage Revolve Scale 1.0 0.82 1.O FaceColor gray30 StartAngle 0.0 EndAngle 359.99 NumRevolve 1 8 NumVerts 4 Data
STK软件在航空航天领域的应用有其他软件不可比拟的优越性。其强Baidu Nhomakorabea的数据库信息 为宇宙探索提供了精确的数据资源。
2 STK软件简介
STK软件是美国AGI公司的主要产品,它以其自身强大的功能在世界各个不同的领域 的得到了广泛的应用,其核心能力包括:生成轨道/弹道星历表、计算访问时间、遥感器覆 盖分析。为扩充STK的分析能力,STK提供了STKIPro专业版,功能包括轨道预报、姿 态调整、多种坐标类型和坐标系、多种遥感器类型、可见性约束、以及城市、地面站和恒 星数据库。它的产品主要包括以下模块:三维显示模块(vo)、高级三维显示模块(AVO)、 轨道机动模块、链路分析模块、通信分析模块、接近分析模块、覆盖分析模块、拦截飞行 工具模块、导弹飞行工具、精确定轨系统、雷达分析模块、空间环境分析模块、高分辨率 数字地图、高分辨率地球影响、雷达高级分析模块、全球三维数字地形、链接模块与服务 器、网络实时播放模块、MATLAB软件接口、分布式仿真模块、地理信息软件接口、程序 员开发库。
描述语言结束(EndCylinder)。
3.2.2可展开物体(Extrusion)
可以用于制作太阳帆板等可伸展的物体。例如:
Component SlrPnl Extrusion
Translate 0.2 0.0 0.0
FaceColor blue4 Length 11.5 NumVerts 4 Data
NumPolys 1 576 Polys
3 350 251 114
270
3 358 349 357 3 3 2 341 3 401 9 334 3 813 93 369 3 556 545 763
EndPolygonMesh EndComponent NumVerts的个数规定了Data下面三维坐标点的个数,NumPolys的个数规定了网格 (Polys)的个数,(3 350 251 114)中第一个参数表示了网格的顶点个数,后面的数字表示 每个项点的索引号。
到的不规则网格物体(PolygomMesh)处理方法将各个部件作成*.mdl格式的文件。 将各个组件按照各自在三维空间的位置拼合起来就作成了三维的火箭飞船模型。 下面是在火箭飞船模型制作中的部分组件,在木.mdl文件格式中撑以后的语句表示注释。 群助推器
Component Test
Cylinder
EndCylinder EndComponent
在Component和EndComponent语句之间构造组件。
3.2简单模型(Primitives)
主要有以下几种:柱体(Cylinder)、可展开物体(Extrusion).螺旋体(Helix)、多角 形(Polygon)、不规则网格物体(PolygonMesh)、旋转体(Revolve)、表面(Skin)、球体 (Sphere)、引用其他物体(Refer)。下面一一举例说明各种简单模型的构造方法:
sy sz)。
3.2.3螺旋体(Helix)
图l柱体
Helix主要用于制作天线等螺旋物体。下面 的例子为制作一个23圈的10边形螺旋体。
Component Helixl Helix FaceColor gray40 NumSides 10 NumCoils 23 CoilHeight 1 0.O CoilRadius 0.75
EndComponent 图4球体与柱体的组合体
在使用引用时,需要精确的在空间定位同时还要对组件安比例缩放,这是就需要用到 下面的语法。
3.3转换(Transformations)
转换主要包括组件三维坐标转换和材质的位置变换。用于对模型或材质在自身坐标系 下进行定位。组件的三维坐标转换有以下三种方法。
Refer Scale 2.0 1.0 2.O Component DomeBase EndRefer
272
3)改变组件在当前坐标系中的位置(Translate):语法为Translate<改><ty><tz> 材质的位置变换也同样包括三种方法:TxRotate<rX><ry><r庐、TxScale<sx><sy> <sZ>和TxTranslate<tx><ty><tz>他们的用法与三维空间转换的用法相同,不过这三种方法 是对材质进行操作的。 上述方法只能用于最基本的模型制作。对于特殊的模型,仅仅拥有上述的基本方法是 不够的,还需要得到模型对应的网格信息、材质、纹理坐标等信息。下面以火箭飞船这一 复杂的模型为例,介绍复杂模型的建模过程。
Component TankTurretCtrBk Polygon FaceColor DarkOliveCaeen4 NumVerts4 Data O.04.1 0.0 0.04.1 1.8 O.0-4.1 1.8 0.0 4.1 0.0 E】【ldPolygon
EndComponent
Data语句下面的四个空间点必须在同一个平面上。