⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 判断点是否在三角形里.txt

📁 程序设计比赛较为实用的一些代码,希望对别人能有帮助
💻 TXT
字号:
// 2.cpp : Defines the entry point for the console application.
//


#include "iostream.h"
#include "math.h"
struct dian 
{
	float x;
	float y;
}p[100];
float Area(struct dian a,struct dian b,struct dian c)
{	 float result=0,area;
	 int i;
	 area=0;
	 int n=3;
	 p[0].x=a.x;p[0].y=a.y;
	 p[1].x=b.x;p[1].y=b.y;
	 p[2].x=c.x;p[2].y=c.y;
	 for(i=1;i<n;i++)
		 area=area+(p[i-1].x*p[i%n].y-p[i%n].x*p[i-1].y);
	 result=1.0*abs(area)/2;
	 return result;
}
	

//如果三个点与p点连成的三角形的面积和等于三角形的面积,那么点在三角形里
int main(int argc, char* argv[])
{
	 float  area;
	 float result,a,b,c,d;
	 int i,j;
	 struct dian tmp[100],p;
	 area=0;
	 cout<<"输入点的坐标"<<endl;
	 cin>>p.x>>p.y;
	 cout<<"输入三角形三个点的坐标"<<endl;
	 for(i=0;i<3;i++)
		 cin>>tmp[i].x>>tmp[i].y;
	 a=Area(tmp[0],tmp[1],tmp[2]);
	 b=Area(p,tmp[0],tmp[1]);
	 c=Area(p,tmp[0],tmp[2]);
	 d=Area(p,tmp[1],tmp[2]);
	 if(a==b+c+d)
		 cout<<"点在三角形内"<<endl;
	 else
		 cout<<"点不在三角形里"<<endl;
 	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -