从品牌网站建设到网络营销策划,从策略到执行的一站式服务
#include#include 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
当前标题:判断点在凸四边形内
转载来源:http://cdkjz.cn/article/jjddgo.html
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图