
空间分析
shijie_nihao
二流搬砖人,cv工程师。
展开
-
判断点在直线的左右
1、问题引入,点P在AB的哪一侧。2、判定方法 根据向量叉乘积的正负判定方向,叉乘公式:x1y2 - x2y1,判定方式如下 验证: 向量a = AB = (4,10) 向量b = AP = (6,6) axb = x1y2 - x2y1 = 4*6 - 10*6 = -36 < 0 ,P...原创 2019-08-14 14:52:45 · 2208 阅读 · 0 评论 -
道格拉斯-普克算法 C# GDI+ 实现
压缩效果:具体步骤:C#完整窗体程序:https://download.youkuaiyun.com/download/shijie_nihao/11516642原创 2019-08-10 12:40:43 · 840 阅读 · 0 评论 -
计算多边形面积
对于规则多边形,矩形、梯形、平行四边形、三角形(根据三边长度,利用公式计算),可以通过公式计算其面积,而对于一般意义的多边形(单一多边形、不包含“洞”),怎么计算面积呢,先想到是分割为三角形,但是程序怎么自动分割又是一个问题。 先说明三种特殊的几何体类型,可以通过单一多边形面积的加减运算计算面积。单一多边形的面积的计算原理: 在直角...原创 2019-08-11 02:52:06 · 5487 阅读 · 6 评论 -
判断点是否在多边形的内部
上图左侧的点O在ABCDE外部,右侧点O在ABCDE的内部,下面就以上面的图中的两个例子介绍 转角法 判断点是否在多边形的内部。判别方法: 如果点O在ABCDE的外部,则∠AOB+∠BOC+∠COD+∠DOE+∠EOA=0(小于180度的角,顺时针为正,逆时针为负)。 如果点O在ABCDE的内部,则∠AOB+∠BOC+∠COD+∠D...原创 2019-08-11 20:53:44 · 1577 阅读 · 0 评论 -
最小覆盖圆
1、要求描述 找出包围所有散点的最小圆2、求解过程——随机增量法(RIA)(增量法) 假设圆O是前i-1个点的最小覆盖圆,加入第i个点后,如果在圆内或边上则什么也不做。否则,新得到的最小覆盖圆肯定经过第i个点。然后以第i个点为基础(半径为0),重复以上过程一次加入第j个点,若第j个点在圆外,则最小覆盖圆必经过第j个点。重复以上步骤(因为最多需要三个点...原创 2019-08-14 23:45:03 · 1469 阅读 · 1 评论 -
计算散点的凸包(格雷厄姆扫描算法)
1、概念 在二维平面上,凸包(Convex Hull)就是将最外层的点连接起来构成的凸多边型,它能包含点集中所有的点,可以想象为一条刚好包著所有点的橡皮圈,空间分析有时也会用到凸包。 下图展示了格雷厄姆扫描算法的过程,图片来源(侵权删除)https://blog.youkuaiyun.com/qq_39826163/article/details/83861353...原创 2019-08-14 15:55:11 · 4825 阅读 · 1 评论