任意多边形的凹凸性判断与面积计算
编程比赛输入各顶点坐标,如何程序判断一个任意多边形的凹凸性?并计算面积。
要求给出代码与测试案例。语言不限。 看起来不难
只要输入顶点坐标是按顺序输入而非随机输入
对多边形A1A2..An我们只需要用行列式计算三角形A1A2A3,A1A3A4,...,A1An-1An的(有向)面积
之后看看全部面积是否同号就好。
总面积等于刚刚算的全部(有向)面积的和,无论是否为凸多边形都如此 凸性应该判断A1A2A3,A2A3A4,A3A4A5,...,An-1AnA1的有向面积同号才对 楼下的大佬(管理)什么来头?https://bbs.emath.ac.cn/static/image/smiley/1/biggrin.gif 不知道
但曾经混过CMO银牌的我不会做的题dalao都会做
有点害怕 题目好像没说给的点都是有序的吧?https://bbs.emath.ac.cn/static/image/smiley/1/lol.gif
不过,无序的好像我也想到办法了. 对于随机分布点,可以用计算三角形法向量的办法找出所有边缘点,再用边缘点构成的三角形计算法向量即可求出某个点是内凹。 要先确定不自相交,才能用这个方法进行凹凸性的判断,否则会出现失效。比如一笔画出来的连线自相交的五角星。
页:
[1]