中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

判斷點在凸四邊形內

發布時間:2020-07-09 09:33:14 來源:網絡 閱讀:631 作者:bhlzlx 欄目:編程語言
#include <stdio.h>
#include <stdlib.h>

struct pt
{
	float x,y;
};

struct quat
{
	pt points[4];
};

float crossmulti2d( float x1, float y1, float x2, float y2)
{
	return x1 * y2 - x2 * y1;
}

bool inquat( quat _q, pt _pt)
{
	pt vec1, vec2;
	vec1.x = _q.points[1].x - _q.points[0].x;
	vec1.y = _q.points[1].y - _q.points[0].y;
	vec2.x = _pt.x - _q.points[0].x;
	vec2.y = _pt.y - _q.points[0].y;
	if( crossmulti2d( vec2.x, vec2.y, vec1.x, vec1.y ) < 0 )
	{
		return false;
	}
	vec1.x = _q.points[2].x - _q.points[1].x;
	vec1.y = _q.points[2].y - _q.points[1].y;
	vec2.x = _pt.x - _q.points[1].x;
	vec2.y = _pt.y - _q.points[1].y;
	if( crossmulti2d(vec2.x, vec2.y, vec1.x, vec1.y) < 0 )
	{
		return false;
	}
	vec1.x = _q.points[3].x - _q.points[2].x;
	vec1.y = _q.points[3].y - _q.points[2].y;
	vec2.x = _pt.x - _q.points[2].x;
	vec2.y = _pt.y - _q.points[2].y;
	if( crossmulti2d(vec2.x, vec2.y, vec1.x, vec1.y) < 0 )
	{
		return false;
	}
	vec1.x = _q.points[0].x - _q.points[3].x;
	vec1.y = _q.points[0].y - _q.points[3].y;
	vec2.x = _pt.x - _q.points[3].x;
	vec2.y = _pt.y - _q.points[3].y;
	if( crossmulti2d(vec2.x, vec2.y, vec1.x, vec1.y ) < 0 )
	{
		return false;
	}
	return true;
}

int main()
{
	quat shape = {
		{ {1, 1},{2, 1}, {1, 0},{0, 0} }
	};

	pt tests[] = {
		{0.0, 1.0},
		{1.0, 0.5},
		{1.5, 0},
		{1.5, 0.5},
		{1.5, 0.52},
		{1.5, 0.49}
		};
	for(int i =0; i<sizeof(tests)/sizeof(pt); ++i)
	{
		if( inquat(shape, tests[i]) == true )
		{
			printf("pass\n");
		}
		else
		{
			printf("failed\n");
		}
	}	
	return 0;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇左市| 罗平县| 禄劝| 道真| 镇康县| 秭归县| 克东县| 阿拉善右旗| 南安市| 阜新| 许昌县| 晋州市| 梧州市| 卓尼县| 呼伦贝尔市| 大姚县| 防城港市| 阳山县| 安远县| 新干县| 邵阳市| 义乌市| 平江县| 寿宁县| 东乡族自治县| 翁牛特旗| 铁力市| 焦作市| 江西省| 满洲里市| 锡林浩特市| 和林格尔县| 克东县| 阿克苏市| 新和县| 桂东县| 泊头市| 札达县| 扬中市| 兴文县| 乡宁县|