如何使用MATLAB查找多边形边界上的点的坐标?

时间:2020-05-13 02:07:46

标签: arrays matlab polygon

我正在生成如图所示的Voronoi单元格或多边形。Polygon 我知道多边形顶点的坐标。使用三角剖分,我在多边形内部创建了两个随机点。蓝色圆圈是已知的。红色未知。

我的目标是如图所示对多边形进行剖切(红色虚线)。为此,我找到了点A,B,C和D的坐标。我只需要在多边形的四个不同边上放置四个随机点即可。将每个边界红色点连接到多边形内的点后,可以将多边形分为4个随机大小的部分。

就是这个想法。我发现很难找到A,B,C,D的坐标。我正在使用以下代码:

%xnew and ynew are arrays of column vector containing polygon coordinates.
%xline and yline are supposed to be the coordinates of A, B, C, D.

    for k=1:(length(xnew)-1) 
    xline = (xnew(k+1) - xnew(k)) * rand(1) + xnew(k) ;
    yline = (ynew(k) - ynew(k+1))/(xnew(k) - xnew(k+1)) * (xline - xnew(k)) + ynew(k) ;
    end

0 个答案:

没有答案