手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

VB中利用OpenGL绘制三维地质构造图

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

glMateriali GL_FRONT_AND_BACK, GL_SHININESS, 128

    使用颜色跟踪法,设置模型前后面环境反射率和漫射反射率属性

glEnable GL_COLOR_MATERIAL
glColorMaterial GL_FRONT_AND_BACK,
GL_AMBIENT_AND_DIFFUSE

  6) 初始化颜色表

  预先构造好颜色表。当读入高程数据时,可以根据Z值来访问颜色表,从而计算出该顶点的颜色(不同的高度层用不同的颜色显示)。

Private Sub InitColorTable()
'初始化颜色表
For i = 0 To 255
With ColorTable(i)
.R = 255 - i: .G = i: .B = 0
End With
Next i
For i = 256 To 510
With ColorTable(i)
.R = 0: .G = 255 - (i - 255): .B = i - 255
End With
Next i
End Sub

  7) 从数据文件中获取数据

  从data.txt文件中获取顶点数据。data.txt数据文件中第一行是构造图横向采样点的个数,第二行是构造图纵向采样点的个数,第三行为采样点的间距,第四行起为采样点的高度值。GetDataFromFile()过程从data.txt文件中读取数据,由于是等间距采样数据,所以顶点的X和Y坐标值可以直接计算出来,只有Z坐标值从数据文件中读入。获得顶点数据之后,计算出顶点的颜色,及填充三角形的法线矢量(用三角形序列填充)。
  
  8) 设置窗口识见区和裁剪区

  设置窗口识见区和修剪空间,保持坐标系到屏幕坐标的映射不变

glViewport 0, 0, w, h '定义视见区
glMatrixMode GL_PROJECTION '定义矩阵为投影矩阵
glLoadIdentity '用于在进行矩阵处理之前"复位"坐标系
If w <= h Then '定义修剪空间
glOrtho -2000, 2000, -1000* h / w, 2000* h / w, -10000, 10000
Else
glOrtho -1000 * w / h , 2000* w / h, -1000, 2000, -10000, 10000
End If
'告诉OpenGL将来的所有变换都会影响模型
glMatrixMode GL_MODELVIEW '定义矩阵为模型变换矩阵
glLoadIdentity

  9) 绘制三维地质构造图

  先进行旋转、比例和平移变换,再根据顶点数据进行绘图,运行结果如图2所示。绘制出来的三维地质构造图可以绕X、Y、Z轴进行360度自由旋转,也可以进行自动旋转;并可以对三维图分别沿X、Y、Z轴进行比例缩放,也可以使三维图沿X、Y、Z轴三个方向同时进行相同比例缩放。


           图2 运行结果

  10) 把绘图描述表从线程上脱离并删除

Public Sub ReleaseGLRC(hGLRC As Long)
'把绘图描述表从线程上脱离并删除
If hGLRC <> 0 Then
wglMakeCurrent 0, 0
wglDeleteContext hGLRC
End If
End Sub

  3. 结束语

  目前,计算机图形学已进入三维时代,三维图形在人们周围无所不在,三维图形在军事、航空、航天、医学、地质勘探、艺术造型和文化娱乐等方面都有着十分广泛的应用,而OpenGL是一种三维图形开发标准,是从事三维图形开发工作的必要工具,其稳定性、可靠性、可扩展性等特点,赋予了其强大的生命力和应用前景,OpenGL已经广泛应用于在CAD/CAM/CAE、医学图像处理、虚拟现实、娱乐、广告等领域,因而对于OpenGL的研究和应用有着重大意义。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

上一页 1 2下一页
[打印] [关闭]
Google
相关文章
上一篇:Visual Basic .NET 中的异常处理简介
下一篇:VB.NET注册表编程
热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS