一、前言
VRML(Virtual Reality Modeling Language,虚拟现实建模语言)是诞生于二十世纪九十年代的一种三维造型和渲染的图形描述型建模语言。VRML虚拟现实建模语言可以在网络上创建逼真的三维虚拟场景,它改变了网络上2D画面的状态,并能实现3D动画及交互效果,特别是改变了当前网络与用户交互的局限性,使得人机交互更加方便、灵活,使虚拟世界的真实性、交互性和动态性得到更充分的体现。概要地说,VRML具有以下四大特点,即强大的网络接入功能;丰富的多媒体集成功能;强大、快捷的三维立体造型和场景创建;人工智能(感知)功能。
在构造简易机器人实体的三维造型过程中,首要的任务是如何按照合理、有效的方法分解、简化实体造型过程。下面以VRML为开发平台,介绍利用PROTO原型、Box(立方体)、Cylinder(圆柱体)、Cone(圆锥体)、Sphere(球体)几何节点和IndexedFaceSet面集合节点构造机器人虚拟三维造型的方法。
二、造型分析
1.总体分析
对于机器人实体的VRML三维仿真模拟工作,其首要任务是进行实体结构分解,依据每一部分的造型特点选取相应的造型节点或者方法进行程序实现。通常,机器人实体大致可以分为如下3个部分:头部、躯干和四肢。其中,头部的主要组成为装饰帽、脸、眼、嘴和颈部;躯干是一个复杂的不规则六面体造型;四肢可细分为上肢和下肢。该机器人造型的结构设计简图如图1所示。
图1 机器人造型结构设计简图
2.详细分析
依据上面的分析工作,接下来按照各个组成部分的特点选择相应的造型节点或方法逐一设计实现。
(1)头部造型中,装饰帽可视为圆锥体造型;脸部和颈部视为圆柱体造型(图1中P1和P2所示);眼和嘴则可以看作是球体造型(图1中P5所示)。这部分造型涉及的VRML节点为Cylinder、Cone和Sphere节点。
(2)躯干部是一个复杂的6面空间几何体(图1中P0所示),它可以通过VRML中的IndexedFaceSet节点设计完成。
(3)四肢造型中,2个上肢可视为圆柱体造型和球体造型的组合(图1中P3和P4所示);下肢则是2个立方体造型的组合(图1中P6和P7所示)。这部分造型涉及的节点为Cylinder和Sphere。
三、造型设计
1.定义原型
在构造三维实体过程中,有很多造型部分的程序实现需要用到相同的造型节点。为简化设计的工作量,可以为重复使用率较高的造型建立(或定义)原型。VRML中,可使用PROTO定义原型,PROTO的语法结构如下:
PROTO 原型名称 [ 数据类型定义 ] { 节点体} |
在机器人的三维造型中,较重要的、需要定义原型的有4个:圆柱体造型(原型命名为Part)、圆锥体造型(原型命名为Cap)、球体造型(原型命名为Rud)和六面体造型(原型命名为Body)。
(1)圆柱体原型Part定义
VRML中,geometry域的Cylinder节点用于创建圆柱体几何造型。Cylinder节点的语法结构如下:
Cylinder { |
|
|
|
|
Height |
2.0 |
SFFloat |
|
Radius |
1.0 |
SFFloat |
|
…… |
||
} |
|
|
|
其中,主要的域功能如下:
① Radius域:定义圆柱体造型的上下面半径;
② Height域:定于圆柱体造型的高。