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

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

?? segmentsintersect.cpp

?? 計算幾何的利用叉積判斷線段是否相交的算法
?? CPP
字號:
//Calculate Geometry
//#include<iostream>
#include<cstring>
#include<ctime>
#include<fstream>
using namespace std;

ofstream cout( "test.txt" );
int x, y;
int MAX = 21;
int BEGIN = -10;
inline int max( int a, int b ) {	return a > b ? a : b;	}
inline int min( int a, int b ) {	return a < b ? a : b;	}

struct Point
{
	int x, y;
 
	friend ostream & operator << ( ostream& out, const Point& p )
	{
		out << "(" << p.x << ", " << p.y << ")";

		return out;
	}

	bool equals( const Point p )
	{
		return x == p.x && y == p.y;
	}
};

Point first1, first2, second1, second2;

Point makeVector( Point p1, Point p2 )
{
	Point res;
	res.x = p2.x - p1.x;
	res.y = p2.y - p1.y;

	return res;
}

int makeMul( Point p1, Point p2 )
{
	return p1.x * p2.y - p2.x * p1.y;
}

bool onSegment( Point p1, Point p2, Point point )
{
	return point.x >= min( p1.x, p2.y ) && point.x <= max( p1.x, p2.x ) && point.y >= min( p1.y, p2.y ) && point.y <= max( p1.y, p2.y );
}

int direction( Point base, Point p1, Point p2 )
{
	return makeMul( makeVector( base, p1 ), makeVector( base, p2 ) );
}

inline bool different( int a, int b )
{
	if ( a > 0 && b < 0 || a < 0 && b > 0 )
		return true;
	else
		return false;
}

bool segmentsIntersection( Point p1, Point p2, Point p3, Point p4 )
{
	int d1 = direction( p3, p4, p1 );
	int d2 = direction( p3, p4, p2 );
	int d3 = direction( p1, p2, p3 );
	int d4 = direction( p1, p2, p4 );

	cout << "d1 " << d1 << endl;
	cout << "d2 " << d2 << endl;
	cout << "d3 " << d3 << endl;
	cout << "d4 " << d4 << endl;

	if ( different( d1, d2 ) && different( d3, d4 ) )
		return true;

	if ( d1 == 0 && onSegment( p3, p4, p1 ) ||
		 d2 == 0 && onSegment( p3, p4, p2 ) ||
		 d3 == 0 && onSegment( p1, p2, p3 ) ||
		 d4 == 0 && onSegment( p1, p2, p4 ) )
		 return true;

	return false;
}

inline void randomPoints( Point &p )
{
	p.x = rand() % MAX + BEGIN;
	p.y = rand() % MAX + BEGIN;
}

void getPoints()
{
	randomPoints( first1 );
	randomPoints( first2 );
	randomPoints( second1 );
	randomPoints( second2 );
}

void printBoard()
{
	int base = BEGIN;
	int i, j;

	cout << "  ";
	for ( i = 0; i < MAX; i ++ )
		cout << i + base << " ";
	cout << endl;
	for ( i = MAX - 1; i >= 0; i -- )
	{
		cout << i + base << " ";
		for ( j = 0; j < MAX; j ++ )
		{
			Point curPoint;
			curPoint.x = i + base;
			curPoint.y = j + base;
			if ( first1.equals( curPoint ) || first2.equals( curPoint ) )
				cout << "* ";
			else if ( second1.equals( curPoint ) || second2.equals( curPoint ) )
				cout << "# ";
			else
				cout << "  ";
		}
		cout << endl;
	}
}
void test()
{
	getPoints();
	
	cout << "線段1 -- " << first1 << " -- " << first2 << endl;
	cout << "線段2 -- " << second1 << " -- " << second2 << endl;
	printBoard();
	if ( segmentsIntersection( first1, first2, second1, second2 ) )
	{
		x ++;
		cout << "線段相交!\n";
	}
	else 
	{
		y ++;
		cout << ( "線段不相交! \n" );
	}
	cout << endl << endl;
}

int main()
{
	srand( time( 0 ) );
	int N;
	x = 0, y = 0;

	scanf( "%d", &N );
	while ( N -- )
		test();

	cout << "相交" << x << endl << "不相交" << y << endl;
	/*while ( cin >> first1.x >> first1.y >> first2.x >> first2.y >> second1.x >> second1.y >> second2.x >> second2.y )
	{
		if ( segmentsIntersection( first1, first2, second1, second2 ) )
			printf( "線段相交\n" );
		else
			printf( "線段不相交\n" );
	}*/

	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本大道久久a久久综合婷婷| 欧美一区二区精品在线| 777奇米成人网| 久久精品视频一区二区| 五月激情综合色| 波多野结衣中文字幕一区| 欧美一级黄色片| 一区二区三区精品视频在线| 国产精品综合二区| 欧美一区二区在线视频| 一区二区在线看| www.欧美色图| 久久色在线观看| 蜜桃av一区二区三区| 欧美日韩国产精品成人| 一区二区三区在线视频播放| 99这里只有精品| 国产午夜精品理论片a级大结局| 日本一区中文字幕| 欧美日韩国产综合久久| 亚洲一区二区三区三| 日本丶国产丶欧美色综合| 国产精品狼人久久影院观看方式| 九九热在线视频观看这里只有精品| 欧美性猛片aaaaaaa做受| 玉米视频成人免费看| 欧洲亚洲国产日韩| 亚洲午夜在线观看视频在线| 在线观看国产日韩| 午夜影视日本亚洲欧洲精品| 欧美性videosxxxxx| 亚洲一区二区三区国产| 欧美三级一区二区| 天堂在线一区二区| 欧美一区二区私人影院日本| 青青草成人在线观看| 日韩一级片在线观看| 蜜桃久久久久久久| 久久久蜜桃精品| 懂色av一区二区三区免费看| 国产欧美综合在线| 99热在这里有精品免费| 亚洲欧美经典视频| 欧美日韩精品一区二区三区四区| 亚洲国产aⅴ天堂久久| 4438成人网| 极品少妇xxxx精品少妇偷拍| 国产三区在线成人av| 91色九色蝌蚪| 午夜电影一区二区三区| 精品第一国产综合精品aⅴ| 国产一二精品视频| 亚洲欧美怡红院| 欧美日韩国产a| 国产精品系列在线观看| 亚洲男同1069视频| 欧美一区二区免费| 成人黄色在线看| 亚洲国产精品久久久久秋霞影院| 欧美疯狂做受xxxx富婆| 久草中文综合在线| 亚洲青青青在线视频| 欧美巨大另类极品videosbest | 久久综合九色综合久久久精品综合| 另类调教123区| 亚洲人成人一区二区在线观看| 5月丁香婷婷综合| 国产91在线观看丝袜| 亚洲免费av高清| 26uuu精品一区二区三区四区在线| 成人h动漫精品一区二区| 午夜亚洲国产au精品一区二区| 久久在线免费观看| 欧美三级中文字| 成人网在线免费视频| 亚洲成av人片在线| 国产精品精品国产色婷婷| 欧美巨大另类极品videosbest | 成人免费看黄yyy456| 亚洲综合图片区| 久久女同精品一区二区| 欧美艳星brazzers| 国产一区二区免费看| 亚洲精品日日夜夜| 国产目拍亚洲精品99久久精品| 欧美另类高清zo欧美| 97超碰欧美中文字幕| 国精产品一区一区三区mba视频| 有坂深雪av一区二区精品| 国产日韩欧美一区二区三区综合| 8x8x8国产精品| 在线观看视频91| 91在线播放网址| 国产精品一级黄| 精品一区二区免费| 午夜激情综合网| 亚洲最大成人综合| 亚洲日本在线看| 国产女主播在线一区二区| 欧美第一区第二区| 日韩欧美国产成人一区二区| 欧美性欧美巨大黑白大战| 色综合视频一区二区三区高清| 国产69精品一区二区亚洲孕妇 | 日韩免费看的电影| 91麻豆精品国产| 欧美主播一区二区三区美女| 91亚洲精品久久久蜜桃| av电影在线观看一区| 成人黄色电影在线| 波多野结衣精品在线| 国产精品一区二区久久精品爱涩| 久久不见久久见免费视频7| 日本欧美一区二区三区乱码| 日韩1区2区3区| 久久99国产精品麻豆| 九色综合狠狠综合久久| 激情成人午夜视频| 国产一区二区三区电影在线观看 | 久久精品视频一区二区三区| 久久久久久久综合色一本| 久久久久久久久久久久久夜| 国产无人区一区二区三区| 国产婷婷色一区二区三区在线| 久久精品综合网| 国产精品久久久久久户外露出| 国产精品全国免费观看高清 | 久久综合丝袜日本网| 久久精品亚洲国产奇米99| 国产精品天美传媒沈樵| 欧美高清在线一区| 亚洲激情校园春色| 天堂久久久久va久久久久| 精品无码三级在线观看视频| 国产精品综合在线视频| 91小视频在线观看| 欧美区视频在线观看| 2020国产精品自拍| 国产精品国产a级| 亚洲一区二区3| 美女视频免费一区| 高清免费成人av| 欧美少妇bbb| www国产精品av| 中文字幕一区二区三区在线不卡 | 久久一夜天堂av一区二区三区 | 99riav一区二区三区| 欧美三级电影一区| 日韩欧美中文一区二区| 中文字幕+乱码+中文字幕一区| 亚洲色图.com| 另类人妖一区二区av| eeuss鲁一区二区三区| 欧美精品色综合| 国产网红主播福利一区二区| 亚洲一区二区三区免费视频| 国产在线乱码一区二区三区| 一本一道波多野结衣一区二区 | 韩国成人精品a∨在线观看| 91一区二区在线| 2021国产精品久久精品| 亚洲一级二级三级| 粉嫩av一区二区三区在线播放| 蜜桃av一区二区在线观看| 成人黄色综合网站| 欧美三区在线观看| 一本色道久久综合亚洲aⅴ蜜桃 | 精品区一区二区| 亚洲人成7777| 国产99久久精品| www久久精品| 亚洲国产一区在线观看| 91丨九色porny丨蝌蚪| 久久先锋资源网| 色综合天天综合色综合av | 欧美性大战xxxxx久久久| 7777精品伊人久久久大香线蕉超级流畅 | www.在线欧美| 91精品国产综合久久久久| 亚洲日本在线a| 高潮精品一区videoshd| 日韩女优电影在线观看| 香蕉影视欧美成人| 色先锋aa成人| 国产精品久久久久久久久久免费看 | 欧美tk丨vk视频| 亚洲成av人片一区二区| 色综合久久综合中文综合网| 国产日韩欧美综合一区| 国产乱码精品一区二区三区忘忧草| 91精品国产欧美一区二区成人| 亚洲综合网站在线观看| 日本高清不卡在线观看| 亚洲摸摸操操av| 91免费国产在线观看| 亚洲免费成人av| 在线观看亚洲精品| 亚洲成精国产精品女| 欧美三级三级三级| 香蕉av福利精品导航|