计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于虚拟现实技术的船舶辅锅炉控制系统研究(3)

2013-11-05 01:01
导读:4 交互功能的实现 在交互功能的实现过程中,首先使用 VisuaC++中的 MFC框架来设计服务器的用户界面根据界面定义的功能,使用网络类作为基类来设计一个

  4  交互功能的实现

  在交互功能的实现过程中,首先使用 VisuaC++中的 MFC框架来设计服务器的用户界面根据界面定义的功能,使用网络类作为基类来设计一个专门处理自己窗口消息的网络对象通过消息函数(CRemoteTestDlg::()nButtonStartVrp())调入设计的三维场景,通过控件定义相应事件处理函数来驱动三维场景,从而实现对j维场景 中模型的控制 。

  在=三维虚拟文件与 H'I’MI 网页结合上采用超链接的方式:在 HTMI 网页中,通过超链 接的设置来实现同维虚拟文件的结合。浏览者可以通过激活超链接来实现网页与虚拟现实场景的转换,双方的平面显示空间不受约束,为场景中的一些重要细节呈现提供更广阔的空间。例如,当用户点击视点切换文本框 中的一个超链接 ,维虚拟场景中的视点就会 自动切换到相对应的场景。 以辅锅炉水位控制算法程序为例说明交互的实现机制 。

  水位控制的算法分为水位控制的运动算法和模拟水的行为算法。水位控制的运动算法相对简单 ,根据锅炉的运行状态 ,水位做相应的变化 ,可以匀速上升、匀速下降、加速上升、加速下降以及在某一水平线的波动。模拟水的行为算法是实现水位控制虚拟化的核心,采用四连通的五位区域采样方法,将四连通周围的五个点求平均值;通过引入阻尼系数来模拟水波上升或下降的震动效果,并反映到导航图中;然后通过激活水波使整个水位控制更接近实际,真正达到虚拟仿真的效果以下是模拟水的行为算法的部分程序:

  for Y:一1 toM AXY一 ]do again

  for x:一 1 to MAXY一 1 do again

  xDiff:一Trunc(WaveMapEx+1,y]一WaveMapEx);

  yDiff:一Trunc(WaveMapE X,y+1]一WaveMapE xy2);

  xAngle:arctan(xDiff);

  xRefraction:一aresin(sin(xAngle)/rlndex);

  xDisplace:一Trunc(tan(xRefraction)  xDiff);

  yAngle:arctan(yDiff);

  yRefraction:一arcsin(sin(yAngle)/rlndex);

  yDisplace:==Trunc(tan(yRefraction)  yDiff);

  if xDiff<0 then begin//当处在高水位时 ,歼始下降

  if yDiff< 0 then

  newcolor:==BackgroundImage[X— xDisplace,Y~yDisplace];

  else

  newcolor:一Backgroundhnage[x  x1)isplace,Y+yDisplace];

  if yDiff<0 then//当处于低低水位时,开始上升

  newcolor:一 Backgroundlmage[x—xI)isplace,Y~yDisplace];

  else

  newcolor:-_Backgroundlmage[X  xI)isplace,Y+yDisplace];Targetlmage[x,y]

  end;

  end;

上一篇:铁路行包配装算法研究与实现 下一篇:没有了