2015-07-16 3 views
-1

Мне нужно найти количество точек, которые я случайно генерировал внутри гексагональной границы для двухярусной сотовой сети. Граница имеет неправильную форму.Чтобы найти количество точек внутри неправильной формы

Я покажу образец моего кода его не полный код:

final_y = [750 500 250 0 -250 -500 -750 -750 -1000 -1000 -1250 -1250 -1000 -1000 -750 -750 -500 -250 0 250 500 750 750 1000 1000 1250 1250 1000 1000 750 750] 
final_y1 = final_y' 
XX =[1010;1155;1010;1155;1010;1155;1010;721.7;577.4;288.7;144.3;-144.3;-288.7;-577.4;-721.7;-1010;-1155;-1010;-1155;-1010;-1155;-1010;-721.7;-577.4;-288.7;-144.3;144.3;288.7;577.4;721.7;1010] 

boundary = mx_min+(mx_max-mx_min)*rand(1,100); 
boundary2 = my_min+(my_max-my_min)*rand(1,100); 
figure(2) 
plot(XX,final_y1) 
hold on 
%plot(boundary,boundary2,'or') 
hold on 
xv = [mx_max mx_min]; 
yv = [my_max my_min]; 
[in,on] = inpolygon(boundary,boundary2,xv,yv); 
hold on 
plot(boundary,boundary2,'bo',xv,yv,'ro'); 

Мне нужно найти количество точек внутри этой границы.

+1

Что ваш код? что вы попробовали? – borracciaBlu

ответ

1

Как вы уже отметили, функция inpolygon определяет для каждой точки, если она находится внутри или вне данного многоугольника. Все, что вам нужно сделать сейчас, это просто подсчитать количество true записей в векторе индикатора:

[in,on] = inpolygon(boundary, boundary2, XX, final_y); 
numPointsIn = sum(in); 
numPointsOn = sum(on); 
+0

Отсутствие его точек в квадратной сетке, поскольку я задал предел как максимальное значение X и Y и минимальное значение X и Y. Среди точек, распределенных на квадрате, мне нужно найти точки внутри этой нерегулярной структуры. этот неправильный образный многоугольник. – thomas

+0

@thomas Как вы определяете свою нерегулярную границу? можете ли вы указать 'x',' y' координаты своих углов? Кроме того, прочитал ли вы связанную документацию 'inpolygon', есть пример, который делает почти то, что вам нужно. – Shai

+0

Да, я определяю координаты этой границы. XX и final_y 'определяют свои координаты, если вы рисуете эти координаты, вы получите эту границу, которую я указываю. – thomas

Смежные вопросы