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

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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
不连续面三维网络模型图形显示及处理2.doc

不连续面三维网络模型图形显示及处理2行政论文范文大全 不连续面三维网络模型图形显示及处理    在c++图形状态下,往往在屏幕上留下一部分位置作菜单显示或其他用途,只用屏幕上的某一矩形范围作为图形显示用,该矩形部分称为视区。对于三维网络模型,为了全显或部分显示其图形,也需要在其平面投影图上确定要显示的范围,该矩形范围成为窗口。如何把由窗口内的物体在视区中显示出来,首先要确定显示比例。    如图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坐标(sx1≤sx≤sx2),    sx=sx1+k1(x-x1) (2-1-14)    同理,对窗口内任一y坐标(y1≤x≤y2 )变换后为视区内水平方向sx坐标(sy1≤sy≤sy2),    k2=(sy2-sy1)/(y2-y1) (2-1-15)    sy=sy1+k2(y-y1) (2-1-16)    由式(2-1-14)和式(2-1-16),把所求得的sx、sy值通过四舍五入的办法由实型数都转化为整型数,该数值即为c++图形状态的象素值。根据这些象素值,利用c++语言的基本绘图函数,就可以把由窗口定义的范围内的物体在视区中显示出来,但必须注意以下两点:    ①长宽比例变换。由于窗口的长宽比与视区的长宽比并不一定相同,如果图形的x与y方向按各自的比例变换因子k1、k2,将使的图形发生变形,而盲目使用某一个值又可能会使得窗口中的图形不能全显,为确保窗口中的图形全显且保持原样,必须对k1、k2值进行比较,取两者之间的小者,作为统一的图形比例系数。    ②坐标轴方向变换。一般屏幕坐标系是直角左手系,y轴方向向下为正,原点在屏幕左上角,而窗口内图形上的任一点(x,y)是相对于右手坐标系的,因此在把(x,y)变换为屏幕上的(sx,sy)时,y值发生了变化,即图形产生了倒置,为保持图形一致,只需把所得的sy值用sy2-sy代替即可。    2.2 三维图形处理及输出   对于一个图形的操作是十分必要的,通过对图形旋转、放大、移动,可以全面地了解图形的特征,把图形打印输出,可以永久保存。    2.2.1旋转、放大及移动    在计算机屏幕上显示三维网络模型等图形之后,有时要对图形进行旋转,从不同的角度来观测该图形,可通过改变观测线的角度实现这一目的。在三维坐标的二维表示中已引进了θ和φ两个参数,θ为观测线在oxy平面上的投影线与x轴的夹角,φ为观测线与z轴的夹角,调整θ、φ,即可唯一确定一观测线,所得的图形即相对于与该观测线垂直的视平面图形。在程序中可利用菜单,通过屏幕输入θ、φ值,由式(2-1-11)、式(2-1-12)而改变图形在视平面上的二维坐标,图形的象素也将随之改变,从而实现图形在三度空间中沿任意轴的选转。    图形的放大及移动实际上是对窗口进行操作。对屏幕上显示的图形的某部分进行放大显示时,用鼠标在屏幕图形上选定一矩形域,该矩形域的各顶点相应于二维平面视图中的窗口中的一小窗口,通过调整比例变换因子而使该小窗口中的图形充满整个视区,从而达到图形放大的目的。这时要想看到其他位置的图形,可以用鼠标在图形中固定一点再拖动到一个新位置,可求出鼠标的象素位移,由比例变换因子而知道相应于该位移的视平面坐标值,依此值而相应调整窗口中的图形内容,达到图形移动的目的。    2.2.2图形输出    通过坐标变换,用c++程序在屏幕上显示所需要的图形,这些图形其实是由一系列坐标值通过绘图函数而实现,为了输出这些图形,可以把这些坐标值写到文件上,同时写入各绘图命令,比如用起笔、落笔的方式写到 *.plt文件上,用surfer软件输出图形;用autocad基本图元命令写到 *.scr文件上,并在autocad环境中进行编辑,最后打印输出这些图形。    3 结束语    根据以上介绍的原理编制出的程序,不仅可以对不连续面三维网络模拟产生的三维网络模型进行三维图形显示及处理,也可以对实测的不连续面构成的实体三维图形进行操作。该程序的主要作用之一是为了切割任意截面的不连续面形迹图。至于如何切制这些图形,将在以后的文章中介绍。 县行政执法责任制工作总结 市政府:我县行政执法

文档评论(0)

guan_son + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档