已知四边形四个点坐标 p1 = (x,y), p2 = (x,y), p3 = (x,y), p4 = (x,y)
判断凹凸性及凹点位置
 
 t1 = (p4.x-p1.x)(p2.y-p1.y)-(p4.y-p1.y)(p2.x-p1.x)
t2 = (p1.x-p2.x)(p3.y-p2.y)-(p1.y-p2.y)(p3.x-p2.x)
t3 = (p2.x-p3.x)(p4.y-p3.y)-(p2.y-p3.y)(p4.x-p3.x)
t4 = (p3.x-p4.x)(p1.y-p4.y)-(p3.y-p4.y)(p1.x-p4.x)
 if t1*t2*t3*t4 < 0:
 return Concavequadrilateral(凹四边形)
 if t1*t2*t3*t4 < 0:
 return Convexquadrilateral(凸四边形)

 if t1*t2 < 0 and t1*t4 < 0:
 return t1
 if t1*t2 < 0 and t2*t3 < 0:
 return t2
 if t2*t3 < 0 and t3*t4 < 0:
 return t3
 if t3*t4 < 0 and t4*t1 < 0:
 return t4
数学原理:
按照输入顺序依次将点连接起来
对于连续的三个点p0,p1,p2,另向量a=p1-p0,b=p2-p1
若是凸多边形,那么b相对于a一定是向逆时针方向旋转的
判断两向量的旋转方向,可以使用向量的叉积 a×b = x1×y2 - x2×y1
a×b > 0 b在a的逆时针方向
a×b = 0 b平行于a(共线)
a×b < 0 b在a的顺时针方向
要注意的是,对于最后一个点pn,还要和起始的两个点p0,p1判断一次。

判断四边形凹凸性及凹点相关推荐

  1. 高等数学学习笔记——第三十四讲——函数的单调性与凹凸性(凹凸性)

    1. 凸函数(向上凸函数和向下凸函数) 2. 凸曲线的几何特征分析("弦在弧上") 3. 向下凸函数(凸函数.严格凸函数.严格向下凸函数)的定义 4. 向上凸函数(严格向上凸函数) ...

  2. 函数的凹凸性证明_判断复杂函数的凹凸性

    判断无人机能量x关系函数的凹凸性(函数是关于v和drt的二元函数) 函数有非常多的参数,极其复杂,看到就烦,我首先用画函数的方法通过图像法来观察,但是画出来的图像不忍直视(或许是我画的图像不对,反正看 ...

  3. UG\NX二次开发 判断面的凹凸、圆柱还是孔、外R角还是内R角。三种方案

    文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 判断面的凹凸,圆柱面是圆柱还是孔,外R角还是内R角?有三种方法 方案1 使用 UF_ ...

  4. 判断多边形的凹凸性和计算多边形面积:利用向量叉乘

    根据百度百科的讲解: 凸多边形 现在重点讲解顶点凹凸性法(最常用也是较为简单的方法):计算总结在最后. 利用向量叉乘的相关知识进行计算:假设当前连续的三个顶点分别是P1,P2,P3.计算向量P1P3, ...

  5. 人工智能数学基础:利用导数判断函数单调性、凹凸性、极值、最值和描绘函数图形

    一.单调性判断定理 定理: 设函数y=f(x)在[a,b]上连续,在(a,b)内可导. (1)如果在(a,b)内f(x)≥0,且等号仅在有限多个点处成立,那么函数y=f(x)在[a,b]上单调增加; ...

  6. PCL—点云分割(基于凹凸性) 低层次点云处理

    博客转载自:http://www.cnblogs.com/ironstark/p/5027269.html 1.图像分割的两条思路 场景分割时机器视觉中的重要任务,尤其对家庭机器人而言,优秀的场景分割 ...

  7. 导数用于判断函数的单调性,凹凸性,极值

    导数用于判断函数的单调性,凹凸性,极值 单调性 凹凸性 拐点 驻点 极大值,极限值 函数的最大值,最小值 单调性 设函数f(x)在闭区间 [a,b]上连续,在开区间(a,b)内可导. (1)如果在(a ...

  8. 函数凹凸性与黑塞矩阵

    1 同济大学高等数学定义 2 国际上的定义 3 黑塞矩阵 1 同济大学高等数学定义 我们从几何上看到,在有的曲线弧上,如果任取两点,则联结这两点间的弦总位于这两点间的弧段的上方,如图3-8(a):而有 ...

  9. 点云凹凸性检验(1/2)

    使用open3d 计算点云法向量并根据法向量判断凹凸性 在某些点云处理场景中,我们不仅需要法向量,还需要法向量所指示的某些区域的点云的凹凸性. 法向量 先去github找个bunny.pcd的实验点云 ...

  10. 【高数】高数第三章节——微分中值洛必达泰勒单调性与凹凸性作图弧微分与曲率

    高数第三章节--微分中值&洛必达&泰勒&单调性与凹凸性&作图&弧微分与曲率 0.博主高数相关章节目录 1.数列 1.微分中值定理 1.1 罗尔定理 1.2 费马 ...

最新文章

  1. CNN如何用于NLP任务?一文简述文本分类任务的7个模型(附代码)
  2. 9个不为人知的Python技巧
  3. 傅立叶变换学习(一)初步认识傅立叶变换
  4. CSocket类的使用
  5. as3文本框的动态拖拽和编辑
  6. PG: Setting up streaming log replication (Hot Standby )
  7. ASP网页开发重点源代码
  8. 苹果x来电闪光灯怎么设置_免费设置来电视频彩铃,安卓苹果都适用!
  9. 4G工业路由器要点介绍
  10. python+tkinter实现抖音爆款辞职信小程序
  11. php编码小坑之调用新浪天气api和阿凡达天气api
  12. csgo服务器搭建(linux)
  13. Elasticsearch:使用 Filebeat 从 Node.js Web 应用程序提取日志
  14. [js常用积累] js正则表达式验证手机号和数字验证码
  15. 正则表达式限制非中文字符输入
  16. c++头文件iomanip.h中的setw、setprecision、setfill和setbase函数
  17. 悲观锁和乐观锁的区别,怎么实现
  18. python中面向对象的思想汇报_python试卷
  19. Windows系统消息
  20. 腾讯万亿级分布式消息中间件TubeMQ正式开源

热门文章

  1. 怎样修改电脑时间同步北京时间
  2. 6-2 Pyecharts配置项及在ppt中插入pyecharts图表
  3. PPT插入Excel图标,如果水平翻转做出漂亮逻辑图表?
  4. 后缀为.vep文件转换成.mp4文件
  5. SpringCachemanager使用Cache(redis作为缓存中间件)
  6. 虚拟手机一款安卓模拟器,让你手机里拥有另外一台手机
  7. 小程序设置按钮分享功能
  8. 历史课-以追剧的方式了解历史
  9. java base64图片计算图片大小
  10. 显示当前系统时间和日期