[发明专利]煤矿巷道模拟图计算机绘制方法有效
申请号: | 201410828293.2 | 申请日: | 2014-12-26 |
公开(公告)号: | CN104462724B | 公开(公告)日: | 2017-11-28 |
发明(设计)人: | 张庆贺;张辉 | 申请(专利权)人: | 镇江中煤电子有限公司 |
主分类号: | G06F17/50 | 分类号: | G06F17/50;G06T11/00 |
代理公司: | 南京经纬专利商标代理有限公司32200 | 代理人: | 楼高潮 |
地址: | 212016 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种煤矿巷道模拟图计算机绘制方法,包括以下步骤1)读取DXF文件,动态分配内存,并保存到内存块中,记录内存句柄;2)通过内存句柄,解析内存数据;3)将工程坐标映射到视图坐标系中;4)先求直线的斜率,当直线斜率小于1时,以X轴为轴线遍历X轴像素点绘制;当直线斜率大于1时,以Y轴为轴线遍历Y轴像素点绘制。本发明通过DXF文件矢量图,可以进行放大,缩小,移动,避免使用图片失真。根据巷道实际坐标,找到任何位置已安装的设备,可以通过漫游图快速定位当前所在巷道的位置,方便查找、查看当前井下情况。图形算法进行优化,提高绘图效率,减少CPU资源占用。 | ||
搜索关键词: | 煤矿 巷道 模拟 计算机 绘制 方法 | ||
【主权项】:
一种煤矿巷道模拟图计算机绘制方法,其特征在于,包括以下步骤:1)读取DXF文件,动态分配内存,并保存到内存块中,记录内存句柄;2)通过内存句柄,解析内存数据;3)将工程坐标映射到视图坐标系中,首先定义变量:Xu:直线端点坐标X;Yu:直线端点坐标Y;x:插入点x坐标;y:插入点y坐标;WL:视图窗口左上角坐标X坐标;WT:视图窗口左上角坐标Y坐标;WR:视图窗口右下角坐标X坐标;WB:视图窗口右下角坐标Y坐标;VL:工程图纸左下角坐标X坐标;VT:工程图纸左下角坐标Y坐标;VR:工程图纸右上角坐标X坐标;VB:工程图纸右上角坐标Y坐标;PPU:像素值;ZL:工程坐标和视图坐标缩放比例;xS:X比例因子;yS:Y比例因子;R:旋转角度;工程坐标系坐标上、下、左、右分别为top、bottom、left、right;工程坐标和视图坐标缩放比例公式为:ZLX=(WB–WT‑20)/((top‑bottom)*PPU);ZLY=(WR–WL‑20)/((right‑left)*PPU);工程坐标和视图坐标缩放比例ZL=max(ZLX,ZLY),如果ZLX>ZLY,则ZL值等于ZLX;如果ZLY>ZLX,则ZL值等于等于ZLY;工程坐标系计算方法为:VB=bottom‑((WB‑WT)/(ZL*PPU)‑(rect.top‑rect.bottom))/2;VL=left‑((WR‑WL)/(ZL*PPU)‑(rect.right‑rect.left))/2;VT=VB+(WB‑WT)/ZL*PPU;VR=VL+(WR‑WL)/ZL*PPU;工程坐标X映射视图坐标X方法为:X=WL+((‑VL+x+[Xu*xS*cos(R*PI/180)‑Yu*yS*sin(R*PI/180)]*1)*PPU*ZL);工程坐标Y映射视图坐标Y方法为:Y=WB‑((‑VB+y+[Xu*xS*sin(R*PI/180)+Yu*yS*cos(R*PI/180))*1)*PPU*ZL);4)先求直线的斜率,当直线斜率小于1时,以X轴为轴线遍历X轴像素点绘制;当直线斜率大于1时,以Y轴为轴线遍历Y轴像素点绘制,具体如下;⑴当|x2‑x1|>|y2‑y1|时,判断直线第一点坐标x1和第二点坐标x2的大小,如果x1>x2,把两点坐标对换,即把x2值赋值给x1,y2值赋值给y1,再把x1值赋值给x2,y1值赋值给y2,然后进行步骤(1‑1);如果x2>x1则直接进行步骤(1‑1):(1‑1)判断直线两点坐标P1、P2是否在视图区域内,不在视图区域内的线段不进行绘制,具体为:将P1点坐标x1与视图坐标左进行比较,若x1不在视图内,则以视图边界WL为起始X坐标,即max(x1,WL),P2点坐标x2与视图坐标右进行比较,若x2不在视图内,则以视图边界WR为结束X坐标,即min(x2,WR);计算直线斜率m=(y2‑y1)/(x2‑x1);遍历坐标点为(x,y),沿x轴方向绘制,则每遍历一次x,x增加1,y=m*(x‑x1)+y1,逐点绘制(x,y),直至绘制直线结束;⑵当|y2‑y1|>|x2‑x1|,判断直线第一点坐标y1和第二点坐标y2大小;如果y1>y2,把两点坐标对换,即把x2值赋值给x1,y2值赋值给y1,再把x1值赋值给x2,y1值赋值给y2,然后进行步骤(2‑1);如果y2>y1,则直接进行步骤(2‑1);(2‑1)判断直线两点坐标P1、P2是否在视图区域内,不在视图区域内的线段不进行绘制,具体为:P1点坐标y1与视图坐标下进行比较,若y1不在视图内,则以视图边界WB为起始Y坐标,即min(y1,WB),P2点坐标与视图坐标上进行比较,若y2不在视图内,则以视图边界WT为结束Y坐标,即max(y2,WT);计算直线斜率m=(x2‑x1)/(y2‑y1);遍历坐标点为(x,y),沿y轴方向绘制,则每遍历一次y,y增加1,y=m*(y‑y1)+x1,逐点绘制(x,y),直至绘制直线结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于镇江中煤电子有限公司,未经镇江中煤电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410828293.2/,转载请声明来源钻瓜专利网。
- 上一篇:一种基于浏览器内核的多业务集成系统
- 下一篇:三维模型展示方法、装置及系统