# Create a new vector to set identity of each cell in Voronoi Diagram

조회 수: 6 (최근 30일)
Mst Shanta 2023년 4월 29일
편집: Scott MacKenzie 2023년 5월 2일
Hi,
I have two vectors X and Y, which create voronoi diagram. I will have to represent three types of cells (S, L and R) in the voronoi tessellation. To that end, I will have to generate another vector say C, which will set the identity of each voronoi cell i.e. three types of cells in the lattice.
For instance, X=[ 1.344 Y=[4.3301 C=[ 0
2.331 -1.2204 1
-2.194] 2.3210] 2]
where, 0 means 'S' cells, 1 means 'L' cells and 2 means 'R' cells or something like that.
Can anyone please help me to create a vector C, which will set the identity of each cell?
Actually, in a column vector, I will have to design like these data points are for these types of cells and these data points are for these types of cells (like S, L, R) and then show those distinct types of cells in the diagram.

댓글을 달려면 로그인하십시오.

### 답변 (1개)

Scott MacKenzie 2023년 5월 1일
편집: Scott MacKenzie 2023년 5월 2일
If I understand correctly, C -- the type of each cell -- identifies the corresponding quadrant for each point. You also want to show each type in the diagram. Here's a script to do this using a different fill color for each cell type:
load test_data % load X and Y (data in script posted in question)
% compute C to identify each cell as S, L, or R, as in question
S = X >= 0 & Y >= 0;
L = X > 0 & Y < 0;
R = X < 0 & Y > 0;
C = 0*S + 1*L + 2*R;
% get voronoi verticies (v) and cells (c) for data set
[v, c] = voronoin([X Y]);
% create basic voronoi figure from data in question
voronoi(X,Y);
axis([-4.1 4.1 -4 4]);
% color the cells to show type
hold on;
for i=1:length(X)
% get verticies of next polygon
px = v(c{i},1);
py = v(c{i},2);
% choose a color, as per cell type
switch C(i)
case 0
clr = [.9 .8 .7]; % S
case 1
clr = [.7 .8 .9]; % L
case 2
clr = [.8 .7 .9]; % R
end
% fill the polygon to show cell type
fill(px, py, clr, 'FaceAlpha', 0.5);
end

댓글을 달려면 로그인하십시오.

### 카테고리

Help CenterFile Exchange에서 Voronoi Diagram에 대해 자세히 알아보기

R2022b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by