关于Voronoi图

时间:2013-02-04 03:46:21

标签: matlab plot voronoi

在MATLAB的Voronoi图函数中,无穷远处边缘的顶点绘制在某个远点。请查看页面here上的第一个图表。 Y轴顶​​部的第一个点是(0,0.75)。 (虽然它超出了图像的范围)。我知道如果我运行以下matlab函数:

[vx,vy]=voronoi(x,y)

我可以得到顶点的坐标,但它们将超出绘图的范围。有没有办法在绘图的边界内得到坐标(例如,如上所述的(0,0.75))。

1 个答案:

答案 0 :(得分:1)

您只需要检测哪些vx,vy穿过轴(使用find或逻辑条件,find(vx<0)find(vy>1)等...),然后应用行y=a*x+b的等式。对于您想要的点(恰好是vx,vy的第19列,斜率a为:

a=diff(vy(:,19))/diff(vx(:,19));

与y轴的交点由b

给出

B = VY(1,19)-a * VX(1,19)

b =
    0.7546

要计算b我选择了第一个点[vx(1,19),vy(1,19)],但这当然也适用于第二点,即b=vy(2,19)-a*vx(2,19)