线的缓冲区边界的生成

线的缓冲区边界的生成

ID:37570354

大小:139.00 KB

页数:7页

时间:2019-05-25

线的缓冲区边界的生成_第1页
线的缓冲区边界的生成_第2页
线的缓冲区边界的生成_第3页
线的缓冲区边界的生成_第4页
线的缓冲区边界的生成_第5页
资源描述:

《线的缓冲区边界的生成》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、线的缓冲区边界的生成算法原理:角平分线算法一、功能实现流程:1.在编辑菜单栏下添加一个子菜单项为缓冲区,并且在工具栏上添加一个工具项。设置text为缓冲区生成,name为buffer等属性,添加单击事件,并为单击事件代码2.为事件函数添加如下代码Graphicsgra=panel1.CreateGraphics();BufferFormbform=newBufferForm();bform.ShowDialog();doubledistance=bform.value;Listring=newList();foreach(Geometry_Tgeoinch

2、oosegeos.Geofeatures){if(geo.GetType()==typeof(Path_T)){Path_Tpa=(Path_T)geo;ring=BufferofPath(path,distance);}}intn=ring.Count-1;for(inti=0;i

3、((int)ring[n].X,(int)ring[n].Y),newPoint((int)ring[0].X,(int)ring[0].Y));3.添加一个新的窗体,其目的是为了输入缓冲距,窗体设计如下:设计可仿照前面几个实验的窗体设计4.添加一个矢量线的数据结构,为了处理上下两条平行线,左右两个点publicclassVectorLine{doubleparaA;publicdoubleParaA{get{returnparaA;}set{paraA=value;}}doubleparaB;publicdoubleParaB{get{returnparaB;}set{paraB=valu

4、e;}}doubleparaC;publicdoubleParaC{get{returnparaC;}set{paraC=value;}}publicVectorLine(){}publicVectorLine(Point_Tfp,Point_Ttp){paraA=fp.Y-tp.Y;paraB=tp.X-fp.X;paraC=fp.X*tp.Y-fp.Y*tp.X;}publicVectorLine(doublepa,doublepb,doublepc){paraA=pa;paraB=pb;paraC=pc;}}5.实现线的缓冲区算法1)publicListBuffero

5、fPath(Path_Tpa,doubledistance){Listring=newList();Listlpath=newList();Listrpath=newList();Point_Tlfpt=newPoint_T();Point_Trfpt=newPoint_T();TwoParallelPoint(pa.Path[0],pa.Fpoint,distance,lfpt,rfpt);lpath.Add(lfpt);rpath.Add(rfpt);intn=pa.Path.Co

6、unt-1;for(inti=0;i

7、lp,rp;lp=Intersect(lvl,cvl);lpath.Add(lp);rp=Intersect(rvl,cvl);rpath.Add(rp);}Point_Tltpt=newPoint_T();Point_Trtpt=newPoint_T();TwoParallelPoint(pa.Path[n],pa.Tpoint,distance,ltpt,rtpt);lpath.Add(ltpt);rpa

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

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

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