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

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

ID:24846404

大小:61.00 KB

页数:9页

时间:2018-11-16

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

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

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

2、有图形,研究将难以深入。为了使得研究者能直观地看到不连续面的三维网络模型,并能对网络模型进行切割产生平面网络,进而对这些图形直接进行处理,比如输出等。笔者用C++语言在BorlandC++3.1集成环境下编写了一系列计算机程序,使得三维网络模型的应用更加方便可行。  1程序组成  本模块由以下文件组成:  3d.cpp,3d.exe,3ddraoveto()、lio()等函数来实现。  由于三维网络模拟产生的节理是以具有中心点坐标、产状和直径的圆盘表示,所以圆盘上的每一点相对于模型来说都是确定的,都可以用一组三维坐标表达。  求圆

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

4、点的坐标可表示为:  X'=acosq=Rc(2-1-1)  Y'=bsinq=Rcosasinq(2-1-2)  q为所求坐标点与原心连线与椭圆长轴的夹角(逆时针为正),也就是圆盘上所求坐标点与圆盘中心点连线与走向线的夹角。  再把坐标变换回来,即得到圆盘上任意一点的三维坐标,分别为:  X=Xo+X'cosb+Y'sinb(2-1-3)  Y=Yo+X'sinb+Y'cosb(2-1-4)  Z=Zo-Rsinα'(2-1-5)  α'为所求坐标点与圆盘中心点连线的倾角  α'是这样确定的,圆盘与水平面的交线必为走向线,在图1

5、中,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-6)  OB'=OO'/sina'(a'为OB与水平面夹角)(2-1-7)  OA'=OB'sinq(2-1-8)  即:  sina'=sinasinq(2-1-9)  所以  Z=Zo-Rsi

6、nasinq(2-1-10)  2.1.2求圆盘在视面上的平面坐标  计算机屏幕是个平面,要把一个三维物体在屏幕上显示出来,首先要把该物体各点的三维坐标变换为平面坐标。相对于物体,屏幕是个投影面,该面位于观测者与被观测物体之间,如图2。对于表征物体的三维坐标系O_XYZ,设观测点的位置为V,其直角坐标为(X,Y,Z),球面坐标为(ρ,θ,φ),显示屏与直线OV垂直,与V点的距离为D,对于物体的每一个点(X,Y,Z),都对应一个投影面平面坐标(SX,SY),该投影面坐标系方向如此定:当观测者的视线朝着O_XYZ坐标系的坐标原点时,S

7、X轴指向右侧,SY轴指向上方。  三维物体上的任一点(X,Y,Z)表示到二维显示平面上的平面坐标(SX,SY)为:  SX=-Xsinθ+Ycosθ(2-1-11)  SY=-Xcosθcosφ-Ysinθcosφ+Zsinφ(2-1-12)  式中:θ为观测线在O-XY面上的投影线与X轴之间的夹角,φ为观测线与Z轴的夹角。     2.1.3视区及象素  在C++图形方式下,计算    机屏幕上的位置通过象素(正整数)体现,每一个象素对应于屏幕上的一个点,象素的个数(分辨率)依赖于系统的图形适配器和连入系统的显示器类型及所处的方

8、式。对于一般的VGA彩卡和彩色显示器,X方向的象素为0~640,Y方向的象素为0~480,C++的绘图函数,只能在此矩形区间内显示图形。  通过三维物体的二维表示得到的三维网络模型各点的二维坐标值是相对于用户投影坐标系的,要全显或部分显示网络模型,

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

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

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