凸包
一组点的凸包
关于这个计算器
凸包计算器使用 Andrew 单调链算法求出包含一组二维点的最小凸多边形。它按逆时针顺序列出凸包的角顶点,统计有多少点位于凸包上以及内部,并报告精确的面积和周长,同时用散点图勾勒出结果。重复点和共线点均可正确处理。
如何求凸包
- 以逗号分隔的 x,y 数对形式输入各点——顺序无关紧要。
- 计算器会合并重复点,并将各点从左到右排序。
- 它扫描排序后的点以构建下边界和上边界,仅保留轮廓向左转的角顶点。
- 读取凸包顶点、面积和周长,并查看绘制在你的点之上的轮廓。
常见示例
- 正方形角点 0,0 6,0 6,4 0,4 加内部点 3,2 和 2,1 → 4 个凸包顶点,面积 24,周长 20
- 三角形 0,0 4,0 0,3 → 3 个凸包顶点,面积 6,周长 12
- 共线点 0,0 1,1 2,2 3,3 → 退化凸包(一条线段),面积 0
- 正方形 0,0 4,0 4,4 0,4 加顶点 2,5 → 5 个凸包顶点,因该尖点延伸了顶边
常见问题
什么是凸包?
一组点的凸包是包含所有这些点的最小凸多边形——就像用一根橡皮筋套住最外层的点并让它绷紧一样。
哪些点会成为凸包顶点?
只有极端的角点位于凸包上。严格位于图形内部的点,以及恰好落在凸包某条边上的点,都不会被列为顶点。
如何处理重复点或共线点?
会先合并相同的点。若所有点都位于同一条直线上,凸包退化为一条零面积的线段,计算器将其报告为退化凸包。
我需要多少个点?
至少需要三个互不相同且不共线的点,才能构成一个面积为正的凸包。