平面多边形凹凸判断(叉乘法)

您所在的位置:网站首页 凹凸性在图形上怎么体现 平面多边形凹凸判断(叉乘法)

平面多边形凹凸判断(叉乘法)

2024-07-17 22:22| 来源: 网络整理| 查看: 265

参照《计算机图形学》一书中的描述,多边形(polygon)是由三个及以上的顶面坐标位置描述的平面图形,这些顶点由多边形的边顺序连接。多边形的一个内角由两个相邻边形成的边界之内的角。如果所有内角均小于180度则称为凸(convex)多边形,否则为凹(concave)多边形。

百度多边形凹凸的判断,主要方法有:凸包法、叉乘法(大于和小于180度的符号相反)、辛普森面积法。这里主要学习下叉乘的运用,并配上 C++ Qt 示例代码。

判断方法:为每一条边建立一个向量,使用相邻边的叉积来测试凹凸性。凸多边形的所有相邻边向量叉积同号。如果出现一些正一些负则为凹多边形。

(网上找的图,可以 ABC 分别看作 xyz。食指指向 x ,手心朝向 y 轴,大拇指向上的方向恰好是 z 的方向)

示例:

void Widget::paintEvent(QPaintEvent *) { //顶点,第一个为凸,第二个为凹 /*QVector points = QVector()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3