提出了一种以改进面积判别准则和凸多边形生成方式为基础的二维混凝土骨料随机生成算法。通过对骨料延伸条件的改进和定点位置条件的限定,改进了程序的可执行性,提高了随机多边形骨料的生成效率;通过轴向拉压计算实例对比分析了圆形和多边形骨料对于混凝土试件单轴抗拉、抗压力学性能的影响。结果表明:圆形骨料试件抗拉、抗压能力略高于多边形骨料试件,骨料形状对混凝土试件拉压力学性能数值模拟结果的影响很小。
2022-05-17 14:18:02 7.81MB 工程技术 论文
1
Geo.Library-.NET的2D地理空间库 Geo 2D库可读取/写入wkt / wkb / geojson并进行交集,并集,差等计算。 支持点,多点,多边形,多面体。 努吉特 Install-Package GeoLibrary -Version 1.1.0 支持几何类型 观点 多点 LineString 多边形多边形 特征 WKT支持 从WKT字符串读取 写入WKT字符串 GeoJson支持 从GeoJson字符串读取 写入GeoJson字符串 WKB支持 从WKB十六进制字符串读取 写入WKB十六进位字串 几何运算 交叉口检查 点与点 点和多点 多点和多点 点和多边形(点是否在多边形内) MultiPoint&Polygon(是否任何点在多边形内) 相交 点与点 点和多点 多点和多点 联盟 点与点 点和多点 多点和多点 点特殊功能 IsBetweenLinear:
2022-05-16 21:25:26 62KB C#
1
圆对多边形裁剪算法设计与实现为题的本科生毕业论文
2022-05-16 13:39:20 752KB 圆对多边形裁 毕业论文
1
一个很好的栅栏填充的源码,对图形学算法的学习研究有很大的帮助,程序写的见解清晰,方便阅读,值得看一看
2022-05-16 11:07:58 48KB 填充,多边形,栅栏,源码
1
想看前面整理的canvas常用API的同学可以点下面: canvas学习之API整理笔记(一) canvas学习之API整理笔记(二) 本系列文章涉及的所有代码都将上传至:http://wd.jb51.net:81//201612/yuanma/About-Canvas-master_jb51.rar 从本篇文章开始,我会分享给大家canvas绘制的各种基础图形和酷炫的图形,注意:是一系列!欢迎关注! 后续每篇文章我会着重分享给大家一些使用Canvas开发的实例和这些实例的实现思路。 本文看点:使用canvas来绘制常见的各种图形实例,并且会简单封装一下绘制各图形的方法,最后会分享给大家一个封
2022-05-15 17:07:07 171KB AS c canvas
1
比较实用,拓扑关系的生成,多边形拓扑关系的分析,采用对话框形式。
2022-05-12 16:24:49 1.94MB 拓扑关系 多边形
1
/** 判断点在多边形内算法. * 使用计算几何中的弧线法,内角和法的一种变形. * 与射线法、内角和法一样,时间复杂度是O(n). * @param point 待判断的点 * @param poly 多边形,这里简单地看做为一个点集 */
1
* 数据处理-多边形阶段 本节学习目标 掌握数据处理软件Geomagic Wrap多边形阶段命令 掌握模型多边形阶段数据处理方法 1. 车载吸尘器案例讲解 第一阶段:点云阶段 (1)去掉扫描过程中产生的杂点、噪音点; (2)将点云文件三角面片化(封装),保存为STL文件格式。 第二阶段:多边形阶段 (1)将封装后的三角面片数据处理光顺、完整; (2)保持数据的原始特征。 * 2. 多边形阶段处理流程 多边形阶段 删除钉状物 “平滑级别”处在中间位置,使点云表面趋于光滑。 填充孔 修补因为点云缺失而造成漏洞,可根据曲率趋势补好漏洞。 去除特征 先选择有特征的位置,应用该命令可以去除特征,并将该区域与其它部位形成光滑的连续状态。 减少噪音 将点移至正确的统计位置以弥补噪音(如扫描仪误差)。噪音会使锐边变钝或使平滑曲线变粗糙。 1 2 3 4 多边形阶段主要操作命令 网格医生 集成了删除钉状物,补洞、去除特征、开流形等功能,对于简单数据能够快速处理完成。 * 步骤一:删除钉状物 选择菜单栏【多边形】【删除钉状物】按钮 ,在模型管理器中弹出如图所示的“删除钉状物”对话框。“平滑级别”处在中间位
2022-05-11 17:06:11 5.26MB 3d 文档资料
#include #include #include #include #include //////////////////////////////////////////////////////////////functions///////////////////////////////////////////////// void swap(float &m,float &n) { float temp=n; n=m; m=temp; } int sign(float a,float b)//sign() { int t; if(a>b) { t=1;} else if(a多边形(共三个) void Bresenham(HDC hdc,float xs,float ys,float xe,float ye) { float x=xs; float y=ys; float dx=abs(xe-xs); float dy=abs(ye-ys); int sx=sign(xe,xs); int sy=sign(ye,ys); bool Flag; if(dy>dx) { swap(dx,dy); Flag=1; } else Flag=0; float Nerror=2*dy-dx; for(int i=1;i=0) { if(Flag) { x=x+sx;} else y=y+sy; Nerror=Nerror-2*dx; } if(Flag) { y=y+sy;} else x=x+sx; Nerror=Nerror+2*dy; } } ///////////////////////////////////四连通种子填充/////////////////////////////////////////////////// void BoundaryFill4(HDC hdc,int x,int y,int FilledColor,int BoundaryColor) { int CurrentColor; CurrentColor=GetPixel(hdc,x,y); if(CurrentColor!=BoundaryColor&&CurrentColor!=FilledColor) { SetPixel(hdc,x,y,FilledColor); BoundaryFill4(hdc,x+1,y,FilledColor,BoundaryColor); BoundaryFill4(hdc,x-1,y,FilledColor,BoundaryColor); BoundaryFill4(hdc,x,y+1,FilledColor,BoundaryColor); BoundaryFill4(hdc,x,y-1,FilledColor,BoundaryColor); } } ////////////////////////////////////////扫描线填充/////////////////////////////////////////////////// //DrawLine()函数:在(x1,y)和(x2,y)两点之间画一条颜色为FilledColor的横线(用来扫描填充) void drawline(HDC hdc, int x1, int x2,int y0, int FilledColor) { for(int n=x1+1;n500)) {a[j][1]=i;} } } //利用循环调用DrawLine函数逐行填充两交点之间的点 for(int k=0;k<300;k++) { if((a[k][0]!=0)&&(a[k][1]!=0)) drawline(hdc,a[k][0],a[k][1],k,RGB(255,0,0));} } ///////////////////////////////////////////////边界填充////////////////////////////////////// //Contrary()取反函数:如果点的颜色为白,则将点置为填充色;如果点的颜色为填充色,则将点置为白色 //忽略了边界色,即不对边界点作颜色处理 void contrary(HDC hdc, int x, int y,int FilledColor) { for(int h=x;h<280;h++) { if(GetPixel(hdc,h,y)==RGB(255,255,255)) { SetPixel(hdc,h,y,FilledColor); } else if(GetPixel(hdc,h,y)==FilledColor) { SetPixel(hdc,h,y,RGB(255,255,255)); } } } //borderline()边线函数: 先找出图形的边界 左边和右边,从右到左的顺序调用contrary()函数进行填充 void borderline(HDC hdc, int boundarycolor) { for(int j=280;j<499;j++) { for(int i=80;i<280;i++) { int currentcolor=GetPixel(hdc,i,j); //排除了边界水平的情况,即(x-1,y)、(x,y)和(x+1,y)连续三点都是边界点的点不参与填充 if((currentcolor==boundarycolor)&&(GetPixel(hdc,i+1,j)!=boundarycolor)&&(GetPixel(hdc,i-1,j)!=boundarycolor)&&(i>100)) { contrary(hdc,i,j,RGB(0,0,255)); } } } for(int m=280;m<499;m++) { for(int n=80;n<280;n++) { int currentcolor=GetPixel(hdc,n,m); if((currentcolor==boundarycolor)&&(GetPixel(hdc,n+1,m)!=boundarycolor)&&(GetPixel(hdc,n-1,m)!=boundarycolor)&&(n<101)) { contrary(hdc,n,m,RGB(0,0,255)); } } } }
1
本文提出了通用多边形UniPolygon图的实现。 在WPF和Silverlight中,构建用户界面的丰富图形变得更加容易。
2022-05-10 15:55:10 237KB C# .NET WPF
1