河道水面线推算可视化实现方法.docVIP

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

河道水面线推算的可视化实现方法 摘要:河道水面线推算是流域防洪和兴利规划的基础工作。运用VB6.0计算机语言,编制了可视化的水面线推算程序,通过便捷的人机交互界面和方便的数据接口,提高了工作效率。本文介绍了可视化编程的思路及一些基本方法。 关键词:水面线推算,VB,可视化 1 引言 河道治理经常需要推算河道水面线。传统的计算方法有试算法和图解法,不仅十分烦琐,而且精度不高。随着计算机技术的快速发展和各种开发平台及应用软件的涌现,人们不仅摆脱了手工计算的繁复工作,实现了计算的程序化,而且,可视化开发平台为实现交互式演算创造了条件,极大地提高了工作效率。笔者运用VB6.0计算机语言编制了可视化水面线计算程序,在南水北调东线工程规划等项目中得到了应用,本文介绍了实现可视化计算的主要方法。 2 VB6.0简介 Visual Basic 6.0是基于Windows平台的可视化开发工具,实现了面向对象的编程,简单易学,特别便以设计人机交互界面及生成图形,实现计算过程和结果的可视化。 3 水面线推算方法 3.1 基本方程 根据伯努力能量方程式的理论,推算水面线基本公式为: 其中: 3.2 推算方法 采用逐段试算法[1],根据工程或实际情况的需要,将需进行水面线计算的整个河段,分成若干个计算河段,从下游到上游对这些计算河段逐段进行计算求解,从而可得到整个河段的水面线。采用二等分迭代法进行计算。 3.3 断面特征数据计算 横断面数据文件采用通用格式,即桩号、断面点数、起点距、高程、起点距、高程…。 以各测点作已知水面或假定水面的垂线,形成了三角形、矩形或梯形断面,计算相应的面积和湿周,对计算方法来说矩形和三角形均为梯形的特例,均可利用相同的程序完成,考虑到规划阶段受资料限制,糙率不可能定得太细,且要进行多方案比较,要求快捷、简便,各分段(河段)只设深槽和滩地两种糙率。根据各梯形断面所处的位置,分别计算不同的糙率相应的流量模数(K)。 4 水面线计算的可视化实现 4.1 可视化功能 包括从断面数据文件读入数据,在“选断面特征值”窗体上绘出带有座标方格横断图,以鼠标点击横断图,分别确定过水断面的有效边界、滩地与深槽的分界点、深泓、两堤顶的位置,输入断面名称、糙率、纵断桩号及测量断面与平均流向相互不垂直的偏角(见图1);在“推算水面线”窗体内,生成纵断图,以鼠标点击选择任意上下游两断面进行之间的水面线计算,可随时改变起始断面水位、糙率、流量,将不同边界条件和水力参数的推算结果绘在纵断图上,便以比较和选择。点击纵断图可即时查询对应位置横断的平均流速、水位、堤顶高程等信息(见图2)。 4.2 可视化实现 (1)图形的生成 首先利用以下语句得到窗口的大小(象素个数),并适当缩小(*17/20)后,确定绘图的窗口。由于VB是以左上角为缺省原点,需通过必要的语句进行坐标系变换。 Height = Screen.Height * 17 / 20 ‘获得窗口大小 Width = Screen.Width ‘获得窗口大小 ScaleTop = Height * 0.85 ScaleLeft = -Width * 0.05 ScaleWidth = Width * 0.95 ScaleHeight = -Height * 1 ‘坐标系变换 w = Width * 0.8 ‘确定绘制断面的屏幕宽度 h = Height * 0.55 ‘确定绘制断面的屏幕高度 在确定绘制图形的窗口之后,为使测量空间坐标与屏幕坐标能够一一对应,并达到绘图窗口正好容纳下整个断面图,需计算两者之间的比例系数,以后都以该系数进行转换。以x1、y1代表最小空间坐标,以x2、y2代表最大值,则比例系数为: kx = w / (x2 - x1) ky = h / (y2 - y1) 线条绘制以循环执行Line语句实现。 (2)屏幕坐标的获取及空间坐标的转换 VB6.0提供了获取鼠标位置的语句,并对鼠标点击事件进行响应,利用此功能,可实现断面特征点(如深泓等)及纵断图中的横断面选择,进行相关数据查询,计算任意两测量点之间的距离和边坡。计算所有测量点与点击坐标的距离,最近的点即为所要的测量点。 获取鼠标位置的语句为: Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Text1.Text = X ‘得到鼠标X坐标 Text2.Text = Y ‘得到鼠标X坐标 If Button = 1 Then ‘如果点击屏幕就转

文档评论(0)

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

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

1亿VIP精品文档

相关文档