MATLABのボロノイ図の関数では、無限大のエッジの頂点が離れた点にプロットされます。こちらのページの最初の図をご覧ください。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
は次のとおりです。
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)]
が、これはもちろん2番目のポイントでも機能します。b=vy(2,19)-a*vx(2,19)