在MATLAB的Voronoi图函数中,无穷远点处的边的顶点被画在某一远程点上。看一下here页面上的第一张图。Y轴上从顶部开始的第一个点是(0,0.75)。(尽管它超出了图像的边界)。我知道如果我运行下面的matlab函数:
[vx,vy]=voronoi(x,y)
我可以得到顶点的坐标,但它们会超出绘图的范围。有没有办法获得绘图范围内的坐标(例如,上面提到的(0,0.75) )。
发布于 2013-02-04 12:39:13
您所需要做的就是检测哪个vx,vy穿过轴(使用find或logical conditions、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)
https://stackoverflow.com/questions/14680068
复制相似问题