【转】判断点在多边形内(matlab)

inpolygon -Points
inside polygonal region


Syntax

IN
= inpolygon(X,Y,xv,yv)
[IN ON] = inpolygon(X,Y,xv,yv)

Description

IN = inpolygon(X,Y,xv,yv) returns a
matrix IN the
same size as X and Y.
Each element of IN is
assigned the value 1 or 0 depending on whether the point (X(p,q),Y(p,q)) is
inside the polygonal region whose vertices are specified by the
vectors xv and yv. In
particular:








IN(p,q)
= 1

If (X(p,q),Y(p,q)) is
inside the polygonal region or on the polygon boundary

IN(p,q)
= 0

If (X(p,q),Y(p,q)) is
outside the polygonal region

[IN ON] = inpolygon(X,Y,xv,yv) returns a
second matrix ON the
same size as X and Y.
Each element of ON is
assigned the value 1 or 0 depending on whether the point (X(p,q),Y(p,q)) is
on the boundary of the polygonal region whose vertices are specified by the
vectors xv and yv. In
particular:








ON(p,q)
= 1

If (X(p,q),Y(p,q)) is
on the polygon boundary

ON(p,q)
= 0

If (X(p,q),Y(p,q)) is
inside or outside the polygon boundary


Examples

L = linspace(0,2.*pi,6); xv = cos(L)‘;yv = sin(L)‘; xv = [xv ; xv(1)]; yv = [yv ; yv(1)]; x = randn(250,1); y = randn(250,1); in = inpolygon(x,y,xv,yv); plot(xv,yv,x(in),y(in),‘r+‘,x(~in),y(~in),‘bo‘)

时间: 2024-08-26 13:57:26

【转】判断点在多边形内(matlab)的相关文章

ZOJ 1081 Points Within | 判断点在多边形内

题目: 给个n个点的多边形,n个点按顺序给出,给个点m,判断m在不在多边形内部 题解: 网上有两种方法,这里写一种:射线法 大体的思想是:以这个点为端点,做一条平行与x轴的射线(代码中射线指向x轴正方向) 如果交点个数为奇数的话就在内部,如果为偶数(包括0)就在外部 #include<cstdio> #include<algorithm> #include<cstring> #define N 105 using namespace std; int n,m; stru

A Round Peg in a Ground Hole - POJ 1584 (判断凸多边形&amp;判断点在多边形内&amp;判断圆在多边形内)

题目大意:首先给一个圆的半径和圆心,然后给一个多边形的所有点(多边形按照顺时针或者逆时针给的),求,这个多边形是否是凸多边形,如果是凸多边形在判断这个圆是否在这个凸多边形内. 分析:判断凸多边形可以使用相邻的三个点叉积判断,因为不知道顺时针还是逆时针,所以叉积如果有有整数和负数,那么一定不是凸多边形(注意允许多多点在一条线段上).判断圆在凸多边形首先要判断圆心是否在多边形内,如果在多边形内,再次判断圆心到达到变形每条边的最短距离,如果小于半径就是不合法.ps:一道好题,通过这个题学会了不少东西.

【原创】判断点在多边形内

一.应用场景:地图应用中判断一个位置是否在一个区域内.我曾经应用在百度地图上,代码为js实现.据我了解,目前百度地图api已经提供该功能. 二.概要: 1.行政区划边界是多边形: 2.多边形分为凸多边形和凹多边形: 3.应用:产生随机数据(即一个平面坐标)在制定的行政区划边界以内(即多边形内),在正式情况下不需要从图形的层面处理数据,数据本身就有在那个区划下的属性. 三.假定: 1.多边形的点都是不重合的点: 2.给定的多边形边界坐标集就是时针顺序的,即要么符合逆时针顺序要么符合顺时针顺序,不存

Hdu 4458 Shoot the Airplane(判断点在多边形内)

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4458 思路:以飞机为参考系,则飞机相对静止,子弹加上水平方向速度-v.则只需枚举时间,判断该时间时点(子弹)是否在多边形(飞机)内.注意g可以为0,分匀变速和匀速.另外本题精度要求较高,判断点在线段上用坐标差值,避免使用Dot . #include<cstdio> #include<cstring> #include<iostream> #include<algori

兔子-判断点在多边形内

private boolean IsPointInPolygon(List<LatLng> poly, LatLng pt) { int i, j; boolean c = false; for (i = 0, j = poly.size() - 1; i < poly.size(); j = i++) { if ((((poly.get(i).latitude <= pt.latitude) && (pt.latitude < poly .get(j).la

c# 判断点是否在区域内 点在区域内 在多边形内 判断

方法一 算法 : public int isLeft(Point P0, Point P1,Point P2)        {            int abc= ((P1.X - P0.X) * (P2.Y - P0.Y) - (P2.X - P0.X) * (P1.Y - P0.Y));            return abc;                                                               } private bool

百度地图 判断marker是否在多边形内

昨天画了圆形,判marker是否存在圆形内.今天来画多边形,判断marker在多边形内. 百度地图API覆盖物多边形类 http://developer.baidu.com/map/reference/index.php?title=Class:%E8%A6%86%E7%9B%96%E7%89%A9%E7%B1%BB/Polygon http://developer.baidu.com/map/reference/index.php?title=Class:%E8%A6%86%E7%9B%96%

点在多边形内判断

原理:射线法判断点在多边形内,利用在多边形内则交点为奇数,在多边形外则射线为偶数(0算偶数) 上代码 思路也是借鉴了别人的,感谢!! 原文地址:https://www.cnblogs.com/chjb/p/12533517.html

HDU 1756 Cupid&#39;s Arrow 判断点在多边形的内部

Cupid's Arrow Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1163    Accepted Submission(s): 425 Problem Description 传说世上有一支丘比特的箭,凡是被这支箭射到的人,就会深深的爱上射箭的人.世上无数人都曾经梦想得到这支箭.Lele当然也不例外.不过他想,在得到这支箭前,