簡體   English   中英

使用Matlab獲取多邊形的坐標

[英]Getting Coordinates of Polygon Using Matlab

我有使用Matlab生成的以下圖。 紅線是使用Voronoi函數生成的,黑線是使用矩形函數生成的。

(1)我想獲取矩形內多邊形的坐標(順時針或ccw方向的坐標)Matlab代碼如下:

a=12.5e-3;
b=30e-3;
vcellsx=[0.0105089656997958,0.00245744063039010,0.00770055845183299,0.00439574383828746,0.00946500286388402];
vcellsy=[0.00762846536914593,0.00753251573928093,0.0141986654670819,0.0249248588368887,0.0226118728283549];

[vx,vy]=voronoi(vcellsx,vcellsy);
plot(vx,vy,'r-','LineWidth', 2);

hold on
rectangle('Position',[0 0 a b])

[編輯]我正在尋找域的坐標,如圖所示。 https://drive.google.com/file/d/0BzxYGJhdC2A4Vl9jUTVDU204NEk/view

在這里您可以使用,

[V,C] = voronoin(X) 

函數返回X的Voronoi圖的Voronoi頂點V和Voronoi單元C

獲得C您必須檢查不包含1單元格,因為包含1單元格表示開放區域。

最后,可以在v(c{i},1),v(c{i},2)找到拐角。

您可以在代碼末尾添加以下代碼。

x = [vcellsx' vcellsy'];
[v,c] = voronoin(x);
for i = 1:length(c)
    if all(c{i}~=1)
        patch(v(c{i},1),v(c{i},2),i); % use color i.
    end
end

結果如下:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM