2013-02-04 68 views
2

在Voronoi圖的MATLAB函數中,無窮遠處的邊的頂點繪製在某個遠點。看看頁面here上的第一個圖。 Y軸上的第一個點是(0,0.75)。 (雖然它超出了圖像的範圍)。我知道,如果我運行下面的MATLAB函數:關於Voronoi圖

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

我可以得到頂點的座標,但他們會超越情節的範圍。有沒有什麼辦法可以得到繪圖邊界的座標(例如,如上所述,(0,0.75))。

回答

1

所有你需要的是檢測(使用find或邏輯條件,find(vx<0)find(vy>1)等...)其中vx,vy的穿過軸,然後應用線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 

要calc下b我選擇了第一點[vx(1,19),vy(1,19)]但是這當然也適用於第二點,即b=vy(2,19)-a*vx(2,19)