判断多边形凹凸

原创 2012年03月25日 20:35:44

任意给定一个多边形,判断它是凸还是凹。多边形的顶点以逆时针方向的序列来表示。
%%%%%%%%%%%%%%%%

#include<stdio.h>
#include<math.h>
struct point
{
	double x,y;
}g[15000];
int ploy(point a,point b,point c)
{
	int d=(c.x-a.x)*(b.y-a.y)-(b.x-a.x)*(c.y-a.y);
	if(d<=0)
	return 1;
	return 0;
}
int main()
{
	int i,j,k,m,n,ncase;
	while(scanf("%d",&ncase),ncase)
	{
		for(i=0;i<ncase;i++)
		scanf("%lf%lf",&g[i].x,&g[i].y);
		int flag=1;
		for(i=0;i<ncase;i++)
		{
			if(!ploy(g[i],g[(i+1)%ncase],g[(i+2)%ncase]))
			flag=0;
		}
		if(flag)
		printf("convex\n");
		else
		printf("concave\n");
	}
	return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

判断多边形凹凸(计算几何基础)

描述: 任意给定一个多边形,判断它是凸还是凹。多边形的顶点以逆时针方向的序列来表示。 输入: 输入包含多组测试数据,每组数据占2行,首先一行是一个整数n,表示多边形顶点的个数,然后一...

Hust oj 1642 多边形-1(叉乘)

多边形-1 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 68(37 users...

哈理工OJ 1642 多边形-1【计算几何】【判断凸凹包】

多边形-1 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 61(34 users...

判断多边形凹凸性

描述 任意给定一个多边形,判断它是凸还是凹。多边形的顶点以逆时针方向的序列来表示。 输入 输入包含多组测试数据,每组数据占2行,首先一行是一个整数n,表示多边形顶点的个数,然后一...

hdu 2108 判断凹包还是凸包

/*对于连续的三个点p0,p1,p2,另向量a=p1-p0,b=p2-p1若是凸多边形,那么b相对于a一定是向逆时针方向旋转的判断两向量的旋转方向,可以使用向量的叉积 a×b = x1×y2 - x2...

opencv 轮廓的凸包,凸缺陷

代码: [cpp] view plaincopy #include    #include    #include    #include&#...

从二维点集重建平面形状-浅议凹包算法 - Jumanco&Hide

从二维点集重建平面形状-浅议凹包算法 - Jumanco&Hide 主题 算法 向量 游戏开发 问题背景 近期遇到一个计算几何问题,需要从点集中重建一个合理的几何...

判断多边形点的凹凸性

  • 2016-08-14 22:48
  • 2.61MB
  • 下载

ACM--多边形凹凸判断--HDOJ 2108--Shape of HDU

HDOJ题目地址:传送门 Shape of HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (...

判断点在任意多边形(包括凹凸边形)内

题目地址:http://www.cnblogs.com/try86/archive/2012/04/22/2465416.html 这一题,若点在边上,也将点看做成多边形内。 对于凸多边形有很多种...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)