不连续面三维网络模型图形显示及处理.doc

不连续面三维网络模型图形显示及处理.doc

ID:11854877

大小:31.50 KB

页数:6页

时间:2018-07-14

不连续面三维网络模型图形显示及处理.doc_第1页
不连续面三维网络模型图形显示及处理.doc_第2页
不连续面三维网络模型图形显示及处理.doc_第3页
不连续面三维网络模型图形显示及处理.doc_第4页
不连续面三维网络模型图形显示及处理.doc_第5页
资源描述:

《不连续面三维网络模型图形显示及处理.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

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

2、,研究将难以深入。为了使得研究者能直观地看到不连续面的三维网络模型,并能对网络模型进行切割产生平面网络,进而对这些图形直接进行处理,比如输出等。笔者用C++语言在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,

3、hzktext,tools.h,hzf24,egavea.bgi,trip.chr。  在Borlandc++3.1的集成环境中经工程文件编译,产生3DNET.EXE可执行文件,在DOS或Windows环境下运行。  2程序编制依据  2.1结构面三维图形显示  2.1.1求圆盘上各点三维坐标  对于一个节理圆盘,沿其法向观测时其为一圆形,沿其走向观测时其为一线段,除此之外,从其他任何角度去观测,节理圆盘都为椭圆。C++语言所提供的绘椭圆函数ellipse()只能绘制长轴为X轴、短轴为Y轴的椭圆,而无法实现任意形状椭圆的显示,因此还得从

4、圆盘轨迹着手,用moveto()、lineto()等函数来实现。6  由于三维网络模拟产生的节理是以具有中心点坐标、产状和直径的圆盘表示,所以圆盘上的每一点相对于模型来说都是确定的,都可以用一组三维坐标表达。  求圆盘各点的坐标是出于这样的出发点:对照图1,对于一圆盘,很容易得到其倾向线,以倾向方向的半径OA顺时针(或逆时针)旋转一角度,得到另一半径OB,求出B点的坐标,旋转角的取值由0°到360°,即得到该圆盘的轨迹。  对于倾角为α、倾向为β、半径为R中心点坐标为(Xo,Yo,Zo)的节理圆盘,其投影到水平面上则为一椭圆,该椭圆长半

5、轴沿走向方向(以下所说的走向均指服从右手法则,长度为a=R,短半轴沿倾向方向,长度为b=Rcosa。       如果平移并沿Z轴旋转坐标系,使X轴与圆盘在水平面投影的椭圆长轴一致且原心在椭圆中心点,则椭圆上一点的坐标可表示为:  X'=acosq=Rc(2-1-1)  Y'=bsinq=Rcosasinq(2-1-2)  q为所求坐标点与原心连线与椭圆长轴的夹角(逆时针为正),也就是圆盘上所求坐标点与圆盘中心点连线与走向线的夹角。  再把坐标变换回来,即得到圆盘上任意一点的三维坐标,分别为:  X=Xo+X'cosb+Y'sinb(2

6、-1-3)  Y=Yo+X'sinb+Y'cosb(2-1-4)  Z=Zo-Rsinα'(2-1-5)  α'为所求坐标点与圆盘中心点连线的倾角  α'是这样确定的,圆盘与水平面的交线必为走向线,在图1中,OA为圆盘倾向方向半径,OB为与OA夹角为θ的一半径,两半径与水平面分别交于A'点和B'点,圆盘中心点O在水平面上的垂直投影点为O',A'B'即为走向线,O'A'B'构成水平面。  因为OO'与A'O'垂直、OB'与B'O'垂直,并且OA'垂直于A'B'(走向线与倾向线),所以有:  OA'=OO'/sina(α为圆盘倾角)(2-1

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

8、),显示屏与直线OV垂直,与V点的距离为D,对于物体的每一个点(X,Y,Z),都对应一个投影面平面坐标(SX,SY),该投影面坐标系方向如此定:当观测者的视线朝着O_XYZ坐标系的坐标原点时,SX轴指向右侧

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。