2

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

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

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

4

1 回答 1

1

您所需要的只是检测哪个vx,vy交叉轴(使用find或逻辑条件等) find(vx<0)find(vy>1)然后应用直线方程y=a*x+b。对于您想要的点(恰好是 的第 19 列vx,vy,斜率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)

于 2013-02-04T04:39:13.437 回答