锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 外包精品 / 图形图像 / OpenGL图形仿真系统和石油行业钻井轨迹生成和轨迹设计系统
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

OpenGL图形仿真系统和石油行业钻井轨迹生成和轨迹设计系统


下文只是开发文档中的摘抄,如果需要OpenGL技术支持请联系孙老师,QQ396806883,微信ryysoft,手机13803810136.本文原创,禁止任何形式的侵权使用。


1.需求概述

本软件结合OpenGL三维绘图技术,实现了石油行业里钻井的轨迹生成和轨迹设计。
生成使用的算法为圆柱螺线法内插,把算法进行了合理的流程设计,从输入数据形成原始点,再生成内插点,原始点和内插点在三维环境里生成了曲线图形。
轨迹设计使用了三段式和五段式算法,结合原始数据,计算了各个结果点的坐标,用直线或圆弧连接了结果点,形成了优化后的线段。

2.软件架构

使用C++技术,经过合理的分析,建立了如下的架构:
仿真系统架构1
钻井算法依赖于视图和文档进行工作,把算法生成的结果转化为数据形式,交由文档来保存,文档的数据由视图来显示,同时显示结果的控制也要通过视图的人机交互机制来实现。
MFC视图依赖于封装视图工作,封装视图把OpenGL的三维显示细节封装起来,提供了数据成员和功能成员函数,让OpenGL的使用更简单。
显示用的数据是在文档里保存,文档里以图元组的形式来保存数据,图元的定义和功能由图元库来实现。图元的数据成员也是依赖于OpenGL的数据形态来生成。
业务、文档和视图的关系如下:
仿真系统架构2

3 工具栏设计

工具栏按钮里有常用功能,界面如下:
仿真系统工具栏

按钮分别为:顶视图、底视图、前视图、后视图、左视图、右视图、Z轴向上正常视图、钻井视图、映射类型、多视图窗口、窗口自适应显示、选中区域放大、放大、缩小、映射模式、移除HLRE、抗锯齿和生成图片。

4 整体平移

平移功能并没有在工具栏按钮里提供,是通过鼠标和按键结合来提供,在焦点为显示窗口上时,同时按下Ctrl键和鼠标中键,再移动鼠标,就可以平移窗口内所有显示对象。
这个函数是通过下面函数来实现:
void CDrillchartView::PanView(int x,int y)
这个函数又调用了OpenGL封装视图的如下函数。
void CGLView::PanView(int x,int y)
在这个函数里,CGLCamera类对象myCamera是处理核心。
我们看下CGLCamera的Render函数。
void CGLCamera::Render( void )
{
::glRotated(-RotatedX , 1.0, 0.0, 0.0);
::glRotated(-RotatedY , 0.0, 1.0, 0.0);
::glRotated(-RotatedZ , 0.0, 0.0, 1.0);
::glTranslated( -Position.x, -Position.y, -Position.z );
}

glRotated和glTranslated函数结合实现了平移效果。
友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内