不连续面三维网络模型图形显示及处理_第1页
不连续面三维网络模型图形显示及处理_第2页
不连续面三维网络模型图形显示及处理_第3页
不连续面三维网络模型图形显示及处理_第4页
不连续面三维网络模型图形显示及处理_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、不连续面三维网络模型图形显示及处理摘要:通过不连续面三维网络模拟获得了在模拟空间范围内具一定概率分布特征的不连续面,这些不连续面的形态以圆盘形式表示,空间位置由圆盘中心点坐标及产状表示,大小由圆盘直径体现。关键词:不连续面三维网络模型图形显示处理通过不连续面三维网络模拟获得了在模拟空间范围内具一定概率分布特征的不连续面,这些不连续面的形态以圆盘形式表示,空间位置由圆盘中心点坐标及产状表示,大小由圆盘直径体现。根据模拟的结果可以进一步进行岩体稳定分析、岩体水力学性质等研究,但首先要解决的问题就是三维网络模型的图形化,即可视性,没有图形,研究将难以深入。为了使得研究者能直观地看到不连续面的三维网络

2、模型,并能对网络模型进行切割产生平面网络,进而对这些图形直接进行处理,比如输出等。笔者用C+S言在BorlandC+3.1集成环境下编写了一系列计算机程序,使得三维网络模型的应用更加方便可行。1程序组成本模块由以下文件组成:3dnet.cpp,3dnet.exe,3ddraw.cpp,3dnet.prj,3dtools.cpp,3dnet.dat,news.cpp,3ddraw.h,tools.cpp,3dtools.h,3dfront.cpp,news.h,hzktext,tools.h,hzf24,egavea.bgi,trip.chr。在Borlandc+3.1的集成环境中经工程文件编译

3、,产生3DNET.EX向执行文件,在DOSEWindows环境下运行。2程序编制依据2.1结构面三维图形显示2.1.1求圆盘上各点三维坐标对于一个节理圆盘,沿其法向观测时其为一圆形,沿其走向观测时其为一线段,除此之外,从其他任何角度去观测,节理圆盘都为椭圆。C+邮言所提供的绘椭圆函数ellipse。只能绘制长轴为X轴、短轴为Y轴的椭圆,而无法实现任意形状椭圆的显示,因此还得从圆盘轨迹着手,用moveto()、lineto()等函数来实现。由于三维网络模拟产生的节理是以具有中心点坐标、产状和直径的圆盘表示,所以圆盘上的每一点相对于模型来说都是确定的,都可以用一组三维坐标表达。求圆盘各点的坐标是出

4、于这样的出发点:对照图1,对于一圆盘,很容易得到其倾向线,以倾向方向的半径OA顺时针(或逆时针)旋转一角度,得到另一半径OB求出B点的坐标,旋转角的取值由0到360,即得到该圆盘的轨迹。对于倾角为a、倾向为B、半径为R中心点坐标为(Xo,Yo,Zo)的节理圆盘,其投影到水平面上则为一椭圆,该椭圆长半轴沿走向方向(以下所说的走向均指服从右手法则,长度为a=R,短半轴沿倾向方向,长度为b=Rcosa。如果平移并沿Z轴旋转坐标系,使X轴与圆盘在水平面投影的椭圆长轴一致且原心在椭圆中心点,则椭圆上一点的坐标可表示为:X=acosq=Rc(2-1-1)Y=bsinq=Rcosasinq(2-1-2)q为

5、所求坐标点与原心连线与椭圆长轴的夹角(逆时针为正),也就是圆盘上所求坐标点与圆盘中心点连线与走向线的夹角。再把坐标变换回来,即得到圆盘上任意一点的三维坐标,分别为:X=Xo+Xcosb+Ysinb(2-1-3)Y=Yo+Xsinb+Ycosb(2-1-4)Z=ZoRsina(2-1-5)为所求坐标点与圆盘中心点连线的倾角a是这样确定的,圆盘与水平面的交线必为走向线,在图1中,OA为圆盘倾向方向半径,OB为与OA夹角为9的一半径,两半径与水平面分别交于A点和B点,圆盘中心点O在水平面上的垂直投影点为O,AB即为走向线,OAB构成水平面。因为。与AO垂直、OB与BO垂直,并且OA垂直于AB(走向线

6、与倾),所以有:OA=OO/sina(a为圆盘倾角)(2-1-6)OB=OO/sina(a为OBt水平面夹角)(2-1-7)OA=OBsinq(2-1-8)即:sina=sinasinq(2-1-9)所以Z=ZoRsinasinq(2-1-10)2.1.2求圆盘在视面上的平面坐标计算机屏幕是个平面,要把一个三维物体在屏幕上显示出来,首先要把该物体各点的三维坐标变换为平面坐标。相对于物体,屏幕是个投影面,该面位于观测者与被观测物体之间,如图2。对于表征物体的三维坐标系O_XYZ设观测点的位置为V,其直角坐标为(X,Y,Z),球面坐标为(p,8,小),/示屏与直线OV垂直,与V点的距离为D,对于物

7、体白每一个点(X,Y,Z),都对应一个投影面平面坐标(SX,SY),该投影面坐标系方向如此定:当观测者的视线朝着O_XY/标系的坐标原点时,SX轴指向右侧,SY轴指向上方。三维物体上的任一点(X,Y,Z)表示到二维显示平面上的平面坐标(SX,SY)为:SX=-Xsin9+Ycos9(2-1-11)SY=-Xcos8cos(|)-Ysin0cosd+Zsin小(2-1-12)式中:9为观测线在O-XY面上的投影线与X轴之间的夹角,小为观测线与Z轴的夹角。2.1.3视区及象素在C+幽形方式下,计算机屏幕上的位置通过象素(正整数)体现,每一个象素对应于屏幕上的一个点,象素的个数(分辨率)依赖于系统的

8、图形适配器和连入系统的显示器类型及所处的方式。对于一般的VG能卡和彩色显示器,X方向的象素为0640,Y方向的象素为0480,C+勺绘图函数,只能在此矩形区间内显示图形。通过三维物体的二维表示得到的三维网络模型各点的二维坐标值是相对于用户投影坐标系的,要全显或部分显示网络模型,必须通过比例缩放把这些二维坐标值转换为计算机屏幕上的象素,才能显示图形。在C+幽形状态下,往往在屏幕上留下一部分位置作菜单显示或其他用途,只用屏幕上的某一矩形范围作为图形显示用,该矩形部分称为视区。对于三维网络模型,为了全显或部分显示其图形,也需要在其平面投影图上确定要显示的范围,该矩形范围成为窗口。如何把由窗口内的物体

9、在视区中显示出来,首先要确定显示比例。如图3,设窗口的四条边界分别为:左X=X1,右X=X2,下Y=Y1,上Y=Y2设视区的四条边界分别为:左X=SX1右X=SX2下Y=SY1上Y=SY2经变换后,窗口的上边界线段(或下边界线段)长X2-X1变换成视区上边界线段(或下边界线段)长SX2-SX1设其比例变换因子为K1,则K1=(SX2-SX1)/(X2-X1) (2-1-13)对窗口内任一X坐标(X1&X&X2)变换后为视区内水平方向SX坐标(SXKSXCSX2),SX=SX1+K1(X-X1)(2-1-14)同理,对窗口内任一Y坐标(Y1&X&Y2)变换后为视区内水平方向SX坐标(SY10SY

10、CSY2),K2=(SY2-SY1)/(Y2-Y1)(2-1-15)SY=SY1+K2(Y-Y1)(2-1-16)由式(2-1-14)和式(2-1-16),把所求得的SXSY值通过四舍五入的办法由实型数都转化为整型数,该数值即为C+幽形状态的象素值。根据这些象素值,利用C+叫言的基本绘图函数,就可以把由窗口定义的范围内的物体在视区中显示出来,但必须注意以下两点:长宽比例变换。由于窗口的长宽比与视区的长宽比并不一定相同,如果图形的X与Y方向按各自的比例变换因子K1、K2,将使的图形发生变形,而盲目使用某一个值又可能会使得窗口中的图形不能全显,为确保窗口中的图形全显且保持原样,必须对K1、K2值进

11、行比较,取两者之间的小者,作为统一的图形比例系数。坐标轴方向变换。一般屏幕坐标系是直角左手系,Y轴方向向下为正,原点在屏幕左上角,而窗口内图形上的任一点(X,Y)是相对于右手坐标系的,因此在把(X,Y)变换为屏幕上的(SX,SY)时,Y值发生了变化,即图形产生了倒置,为保持图形一致,只需把所得的SY值用SY2SY代替即可。2.2三维图形处理及输出对于一个图形的操作是十分必要的,通过对图形旋转、放大、移动,可以全面地了解图形的特征,把图形打印输出,可以永久保存。2.2.1旋转、放大及移动在计算机屏幕上显示三维网络模型等图形之后,有时要对图形进行旋转,从不同的角度来观测该图形,可通过改变观测线的角

12、度实现这一目的。在三维坐标的二维表示中已引进了9和小两个参数,9为观测线在OXYF面上的投影线与X轴的夹角,小为观测线与Z轴的夹角,调整8、小,即可唯一确定一观测线,所得的图形即相对于与该观测线垂直的视平面图形。在程序中可利用菜单,通过屏幕输入8、小值,由式(2-1-11)、式(2-1-12)而改变图形在视乎面上的二维坐标,图形的象素也将随之改变,从而实现图形在三度空间中沿任意轴的选转。图形的放大及移动实际上是对窗口进行操作。对屏幕上显示的图形的某部分进行放大显示时,用鼠标在屏幕图形上选定一矩形域,该矩形域的各顶点相应于二维平面视图中的窗口中的一小窗口,通过调整比例变换因子而使该小窗口中的图形充满整个视区,从而达到图形放大的目的。这时要想看到其他位置的图形,可以用鼠标在图形中固定一点再拖动到一个新位置,可求出鼠标的象素位移,由比例变换因子而知道相应于该位移的视平面坐标值,依此值而相应调整窗口中的图形内容,达到图形移动的目的。2.2.2图形输出通过坐标变换,用C+取序在屏幕上显示所需要的图形,这些图形其实是由一系列坐标值通过绘图函数而实现,为了输出这些图形,可以把这些坐标值写到文件上,同时写入各绘图命令,比如用起笔、落笔的方式写到*.plt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论