Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 MATLAB 的 Voronoi 图函数中,无穷远边的顶点绘制在某个远点。在此处查看页面上的第一个图表。Y 轴上从顶部开始的第一个点是 (0,0.75)。(虽然它超出了图像的范围)。我知道我是否运行以下 matlab 函数:
[vx,vy]=voronoi(x,y)
我可以得到顶点的坐标,但它们会超出绘图的范围。有没有办法获得绘图范围内的坐标(例如,如上所述的(0,0.75))。
您所需要的只是检测哪个vx,vy交叉轴(使用find或逻辑条件等) find(vx<0),find(vy>1)然后应用直线方程y=a*x+b。对于您想要的点(恰好是 的第 19 列vx,vy,斜率a为:
vx,vy
find
find(vx<0)
find(vy>1)
y=a*x+b
a
a=diff(vy(:,19))/diff(vx(:,19));
与 y 轴的交点由下式给出b:
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)
[vx(1,19),vy(1,19)]
b=vy(2,19)-a*vx(2,19)