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