亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? intersect.c

?? 并行環境下的intersect實現。使用mpi語言在smp環境下實現
?? C
字號:
#include <stdio.h>#include <mpi.h>//進程號和處理器數目int my_rank,group_size;//第一個多邊形的端點double pointx1[20],pointy1[20];//第二個多邊形的端點double pointx2[20],pointy2[20];//多邊行的邊數int n_poly,m_poly;//判斷的結果int result,localresult;/* *函數名:if_not_parallel *功能:兩條直線不垂直的情況下,判斷是否相交 *輸入:(x1,y1),(x2,y2)是線段一的兩個端點的坐標 *     (x3,y3),(x4,y4)是線段二的兩個端點的坐標 *輸出:返回整型值判斷兩條線段是否相交 */int if_intersect_np(double x1,double y1,double x2,double y2, double x3,double y3,double x4,double y4){	double x;	x=((x1*y2-x2*y1)/(x2-x1)+(x4*y3-x3*y4)/(x4-x3))/((y2-y1)/(x2-x1)-(y4-y3)/(x4-x3));	if(((x1-x)*(x-x2)>=0)&&((x3-x)*(x-x4)>=0))	return 1;	else	return 0;}/* *函數名:if_intersect_1v *功能:線段一是垂直的,判斷線段二與一是否相交 *輸入:(x1,y1),(x2,y2)是線段一的兩個端點的坐標 *     (x3,y3),(x4,y4)是線段二的兩個端點的坐標 *輸出:返回整型值判斷兩條線段是否相交 */int if_intersect_1v(double x1,double y1,double x2,double y2, double x3,double y3,double x4,double y4){	double y;	if(x3==x4)		{		//兩線段平行,不在一條直線上		if(x3!=x1)			return 0;		else if((y4<y1)||(y2<y3))		return 0;		else		return 1;	}	//線段一垂直,線段二不垂直	else	{		//線段一所在直線與線段二所在直線的交點縱坐標		y = (y4 - y3)/(x4 - x3)*(x1 - x4)+ y4;		if((y>=y1)&&(y<=y2)&&(y<=y4)&&(y>=y3)&&((x4-x1)*(x3-x1)<=0))		return 1;		else		return 0;	}}/* *函數名:if_intersect *功能:判斷線段一(x1,y1),(x2,y2)與線段二(x3,y3),(x4,y4)是否相交 *輸入:(x1,y1),(x2,y2)是線段一的兩個端點的坐標 *     (x3,y3),(x4,y4)是線段二的兩個端點的坐標 *輸出:返回整型值判斷兩條線段是否相交 */int if_intersect(double x1,double y1,double x2,double y2, double x3,double y3,double x4,double y4){	double temp;	int result;	//將坐標大的換到第二個點	if(y1>y2)	{		temp = x1;		x1 = x2;		x2 = temp;		temp = y1;		y1 = y2;		y2 = temp;	}	if(y3>y4)	{		temp = x3;		x3 = x4;		x4 = temp;		temp = y3;		y3 = y4;		y4 = temp;	}	//線段一為垂直線段	if(x1==x2)		{		result=if_intersect_1v(x1,y1,x2,y2,x3,y3,x4,y4);	}		else	{		/*線段一不垂直,線段二垂直*/		if(x3==x4)		//交換線段一線段二位置,遞歸調用本函數判斷兩線段是否相交		result= if_intersect(x3,y3,x4,y4,x1,y1,x2,y2);		//線段一線段二皆不垂直		else		{			//若兩線段中存在平行于x軸的			if((y1==y2)||(y3==y4))			//交換線段一線段二中x,y位置,遞歸調用本函數判斷兩線段是否相交			result= if_intersect(y1,x1,y2,x2,y3,x3,y4,x4);			//線段一線段二平行			else if((y4-y3)*(x2-x1)==(x4-x3)*(y2-y1))			{				//兩線段所在直線在y軸上的截距相同,則兩線段在同一直線上				if((x4*y3-x3*y4)*(x2-x1)==(x2*y1-x1*y2)*(x4-x3))				{					//兩線段在一條直線上,但不相交					if((y4<y1)||(y2<y3))					result = 0;					//兩線段在一條直線上,且相交					else					result = 1;				}				//兩線段不在同一直線上				else				result = 0;			}			//兩線段不平行			else			{				result=if_intersect_np(x1,y1,x2,y2,x3,y3,x4,y4);			}		}	}	return result;}/* *函數名:Broadcast *功能:將兩個多邊形的數據傳到個處理器 *輸入:無 *輸出:無 */void Broadcast(){	MPI_Barrier(MPI_COMM_WORLD);	MPI_Bcast(&n_poly,1,MPI_INT,0,MPI_COMM_WORLD);	MPI_Bcast(&m_poly,1,MPI_INT,0,MPI_COMM_WORLD);	MPI_Bcast(pointx1,n_poly,MPI_DOUBLE,0,MPI_COMM_WORLD);	MPI_Bcast(pointy1,n_poly,MPI_DOUBLE,0,MPI_COMM_WORLD); 	MPI_Bcast(pointx2,m_poly,MPI_DOUBLE,0,MPI_COMM_WORLD);	MPI_Bcast(pointy2,m_poly,MPI_DOUBLE,0,MPI_COMM_WORLD);	MPI_Barrier(MPI_COMM_WORLD);}/* *函數名:Judge() *功能:判斷兩個多邊形是否相交 *輸入:無 *輸出:無 */void Judge(){	int i,j,k;	/*對第二個多邊形的每條邊,若還未發現兩多	邊形相交, 就判斷是否與第一個多邊形	的邊集相交, 對應于算法17.4步驟(3)	*/	result = 0;	localresult = 0;	for(i=0;(i<m_poly)&&(result==0);i++)	{		/*對處理器分配判斷的第一個多邊形的		邊集*/		for(j=0;j<n_poly/group_size+1;j++)		{		/*累加第二個多邊形當前邊與第一		個多邊形邊集相交的判斷結		果*/			if(j*group_size+my_rank<n_poly)			{				k=j*group_size+my_rank;				localresult+=if_intersect(pointx1[k],pointy1[k],pointx1[(k+1)%n_poly],pointy1[(k+1)%n_poly],pointx2[i],pointy2[i],pointx2[(i+1)%m_poly],pointy2[(i+1)%m_poly]);				}		}		/*統計第二個多邊形與第一個多邊形是		否相交, 對應于算法17.4步驟(4)*/		MPI_Scan(&localresult,&result,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD);	}}/* *函數名:GetData *功能:取得多邊形的各種數據 *輸入:無 *輸出:無 */void GetData(){	int i;	//0號處理器	if(my_rank==0)	{		//輸入多邊形相關數據		printf("please input first polygon\n");		printf("please input the count of vertex:");		scanf("%d",&n_poly);		printf("please input the vertex\n");		for(i=0;i<n_poly;i++)		{			scanf("%lf",&pointx1[i]);			scanf("%lf",&pointy1[i]);		}		printf("please input second polygon\n");		printf("please input the count of vertex:");		scanf("%d",&m_poly);		printf("please input the vertex\n");		for(i=0;i<m_poly;i++)		{			scanf("%lf",&pointx2[i]);			scanf("%lf",&pointy2[i]);		}	}}/* *函數名:main *功能:判斷兩個多邊形是否相交 *輸入:argc為命令行參數個數 *     argv為每個命令行參數組成的字符串數組。 *輸出:返回0代表程序正常結束 */int main(int argc,char * argv[]){	    /*完成任務1:初始化*/   	MPI_Init(&argc,&argv);	MPI_Comm_rank(MPI_COMM_WORLD,&my_rank);	MPI_Comm_size(MPI_COMM_WORLD,&group_size);	/*完成任務2:從輸入中獲取數據*/    GetData();	/*完成任務3:將數據廣播到每個處理器*/	Broadcast();	/*完成任務4:判斷是否相交*/    Judge();    /*完成任務5:輸出結果*/	MPI_Barrier(MPI_COMM_WORLD);	if(my_rank==0)	{		if(result!=0)		printf("two polygons intersect\n");		else		printf("two polygons don't intersect\n");	}	MPI_Finalize();}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产影片| 看电影不卡的网站| 国产精品美女一区二区| 26uuu色噜噜精品一区| 日韩一区二区精品| 日韩欧美一二三| 欧美电影免费观看高清完整版| 67194成人在线观看| 欧美久久婷婷综合色| 欧美一区二区播放| 日韩欧美一卡二卡| 久久日韩粉嫩一区二区三区| 国产亚洲va综合人人澡精品| 中文字幕av一区 二区| 中文字幕欧美一区| 亚洲影视在线播放| 肉色丝袜一区二区| 国产a级毛片一区| 成人免费av在线| 欧美在线观看视频一区二区三区| 欧美日韩视频在线观看一区二区三区| 欧美疯狂性受xxxxx喷水图片| 日韩一区二区电影网| 中文字幕国产一区二区| 一区二区在线看| 久久草av在线| www.亚洲在线| 91精品国产入口在线| 国产清纯在线一区二区www| 亚洲欧美色一区| 九一久久久久久| 91同城在线观看| 日韩女优制服丝袜电影| 国产精品久久久久久久裸模| 午夜av一区二区三区| 国产成人免费网站| 欧美男男青年gay1069videost| 精品卡一卡二卡三卡四在线| 亚洲欧美日韩久久| 久久99国产精品麻豆| 在线影视一区二区三区| xvideos.蜜桃一区二区| 午夜激情久久久| 91在线播放网址| 久久噜噜亚洲综合| 午夜精品福利一区二区三区av| 成人免费看的视频| 欧美大片拔萝卜| 亚洲成a人在线观看| 成人动漫视频在线| 精品国产成人系列| 午夜伦欧美伦电影理论片| 成人国产视频在线观看| 日韩欧美国产一二三区| 亚洲大片免费看| 一本一道综合狠狠老| 国产情人综合久久777777| 精品综合久久久久久8888| 欧美日韩一区二区三区在线看 | 欧美视频日韩视频在线观看| 精品av综合导航| 免费精品视频最新在线| 欧美丝袜丝nylons| 亚洲精品v日韩精品| www..com久久爱| 国产日韩欧美制服另类| 黄色小说综合网站| 日韩欧美专区在线| 青青草成人在线观看| 欧美精品久久天天躁| 五月天丁香久久| 欧美精品在线视频| 亚洲一区二区视频在线观看| 欧洲精品一区二区| 亚洲永久免费视频| 欧美日韩国产乱码电影| 婷婷综合久久一区二区三区| 欧美日韩国产一区二区三区地区| 亚洲午夜三级在线| 欧美性色综合网| 丝袜脚交一区二区| 91精品国产综合久久福利| 久久国产精品99久久久久久老狼 | 国产亚洲一区二区三区| 精品制服美女久久| 国产亚洲一二三区| 91视视频在线直接观看在线看网页在线看 | 成人理论电影网| 亚洲欧洲日韩一区二区三区| 99久久国产综合精品色伊| 自拍偷拍欧美精品| 欧美亚日韩国产aⅴ精品中极品| 午夜免费欧美电影| 久久综合九色综合久久久精品综合 | 亚洲摸摸操操av| 91精彩视频在线观看| 日韩av网站在线观看| 精品99一区二区| 91影院在线观看| 午夜精品一区二区三区免费视频| 欧美一区二区二区| 成人美女视频在线看| 午夜成人在线视频| 国产日本亚洲高清| 欧美日韩第一区日日骚| 激情久久五月天| 一区二区三区精品久久久| 欧美一区二区三级| 成av人片一区二区| 免费观看在线综合色| 国产精品电影一区二区| 91麻豆精品国产综合久久久久久| 国产激情一区二区三区| 亚洲一区二区三区四区中文字幕| 精品噜噜噜噜久久久久久久久试看| 白白色亚洲国产精品| 久久激情综合网| 亚洲一区二区在线观看视频 | 欧美激情在线看| 欧美群妇大交群的观看方式| 成人免费高清在线| 久久99国产精品久久99果冻传媒| 亚洲免费高清视频在线| 国产视频911| 日韩一级大片在线观看| 色婷婷综合中文久久一本| 国产剧情一区二区| 日韩精彩视频在线观看| 亚洲精品欧美专区| 日本一区二区三区dvd视频在线| 欧美日韩在线免费视频| av亚洲精华国产精华精华| 紧缚奴在线一区二区三区| 舔着乳尖日韩一区| 亚洲欧美激情一区二区| 国产欧美一区二区精品婷婷| 日韩精品一区二区三区蜜臀 | www欧美成人18+| 7777精品伊人久久久大香线蕉 | 欧美乱熟臀69xxxxxx| 91一区一区三区| 99久久er热在这里只有精品15| 国产精品一级片| 国产一区欧美日韩| 韩日精品视频一区| 琪琪一区二区三区| 三级在线观看一区二区| 日一区二区三区| 日韩国产欧美在线观看| 亚洲国产成人高清精品| 一区二区三区不卡视频在线观看| 亚洲女同ⅹxx女同tv| 亚洲精品中文字幕在线观看| 亚洲高清一区二区三区| 国产精品视频在线看| 久久久久国色av免费看影院| 久久久国产精华| 欧美经典一区二区| 国产精品久久久久久户外露出| 欧美国产精品一区二区| 国产精品久久夜| 亚洲精品国产a久久久久久| 国产精品午夜在线观看| 亚洲三级理论片| 久久精品日韩一区二区三区| 国产一区二区中文字幕| 久久综合九色综合97婷婷女人| 欧美一区二区在线观看| 91精品国产福利| 精品久久久久久久人人人人传媒| 欧美电影免费观看完整版| 久久精品人人做| 国产精品成人免费在线| 亚洲资源在线观看| 日精品一区二区| 国产乱妇无码大片在线观看| 91原创在线视频| 91麻豆精品国产91久久久资源速度| 欧美一区二区三区喷汁尤物| 久久亚洲精华国产精华液| 国产女人18水真多18精品一级做| 18欧美亚洲精品| 日韩成人免费电影| 国产精品一区二区在线观看不卡 | 成人的网站免费观看| 欧美日韩一级大片网址| 欧美亚洲自拍偷拍| 国产精品久线在线观看| 日韩一区中文字幕| 爽好多水快深点欧美视频| 精品一区二区在线视频| jiyouzz国产精品久久| 欧美日韩在线一区二区| 久久久不卡影院| 亚洲成va人在线观看| 国产成人精品免费网站| 欧美日韩一区在线| 国产精品短视频| 精品亚洲免费视频| 在线观看成人免费视频|