MATLAB Answers

what is the maximum diameter of convex polygons ?

22 ビュー (過去 30 日間)
jahanzaib ahmad
jahanzaib ahmad 2018 年 12 月 26 日
編集済み: Matt J 2018 年 12 月 26 日
is it the maximum distance between the vertices or something else ?

  0 件のコメント

サインインしてコメントする。

採用された回答

John D'Errico
John D'Errico 2018 年 12 月 26 日
編集済み: John D'Errico 2018 年 12 月 26 日
This is not a question about MATLAB, but since it already has an answer...
Yes. You should be able to prove that the maximal diameter must lie between two vertices of the polygonal region. I would do that by starting with a pair of parallel lines in the plane that do not intersect the polygon, but contain the polygon between them. You can move them closer together, until they just touch the polygonal region. Clearly that event will happen when one or more of the vertices of the polygon lie along each of the parallel enclosing lines. The diameter of the polygon in that direction is just the distance between the lines.
Now rotate the lines you would consider, implicitly creating a function of the dameter of the polygon at any rotation angle. Clearly this function is continuous, though not differentiable. Still it will have a well defined maximum. That maximum need not be unique (consider a square).
In the end, you will have shown that the maximum diameter will be given by the maximum Euclidean distance between any pair of vertices of the polygon, so pdist, applied to the polygonal vertices, will suffice.

  2 件のコメント

jahanzaib ahmad
jahanzaib ahmad 2018 年 12 月 26 日
thanks john . but because i m matlab user thats y i asked it here ..and coz mathworks is really great experience for me ..
can u please share some reference
John D'Errico
John D'Errico 2018 年 12 月 26 日
Sorry. No ref available. The proof seems pretty clear though, following the outline I provided.

サインインしてコメントする。

その他の回答 (3 件)

Matt J
Matt J 2018 年 12 月 26 日
編集済み: Matt J 2018 年 12 月 26 日
You can prove it using some theorems below from convex analysis. You should be able to find them in any convex analysis text, but I provide links to some online Stack Exchange proofs.
  1. A convex function maximized over a convex polyhedron attains its maximum at a vertex of the polyhedron (link).
  2. The direct difference between any two convex polyhedra P and Q is also a convex polyhedron and the vertices of P-Q are differences of a vertex of P and a vertex of Q (link).
Now apply this to the maximum diameter problem where P denotes the given polygon. The problem can be written,
Since ||d|| is a convex function it must attain its maximum (by 1 above) at a vertex of P-P which (by 2 above) is a difference of two vertices of P.

  0 件のコメント

サインインしてコメントする。


KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 12 月 26 日
編集済み: KALYAN ACHARJYA 2018 年 12 月 26 日
Use this link to get the answer (Source: Walter Answer)

  3 件のコメント

KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 12 月 26 日
Still if you need help, share your code, so that we can try on it.
jahanzaib ahmad
jahanzaib ahmad 2018 年 12 月 26 日
mean_max = cellfun( @(x) [mean(pdist(x)) max(pdist(x))], P, 'UniformOutput', 0);
my question is that "is the maximum diameter of convex polygons is the max distances between any two furthest vertices ? " or not if not what is it ?
KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 12 月 26 日
Yes

サインインしてコメントする。


Image Analyst
Image Analyst 2018 年 12 月 26 日
You might want to look at Steve's extensive discussion of Feret Diameters: Click Here

  0 件のコメント

サインインしてコメントする。

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by