- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 ‘如果点击屏幕就转
您可能关注的文档
- 教你编一条简单个性女士手链.doc
- 政书与类书.doc
- 教你处理产后记忆力差问题.doc
- 教案1 第一节 电场力做功和电势能 教案.doc
- 教案 电能表和电功.doc
- 教案举例1论翻译和相对语境解读.pdf
- 教案 专题11 祈使句,反意疑问句与感叹句(教学卷).doc
- 教科书般投篮姿势.doc
- 支援教学电子教室系统.doc
- 支线客机带来巨大维修商机.pdf
- 2025教育硕士高频难、易错点题附参考答案详解(预热题).docx
- 2025教育硕士高频难、易错点题附参考答案详解(精练).docx
- 2025教育硕士高频难、易错点题附参考答案详解(突破训练).docx
- 分桔子小学教学课件.ppt
- 2025教育硕士高频难、易错点题附参考答案详解(名师推荐).docx
- 2025教育硕士高频难、易错点题附参考答案详解【突破训练】.docx
- 2025教育硕士高频难、易错点题带答案详解(巩固).docx
- 2025教育硕士高频难、易错点题带答案详解.docx
- 2025教育硕士高频难、易错点题学生专用附答案详解.docx
- 2025教育硕士高频难、易错点题含答案详解【巩固】.docx
文档评论(0)