Fit an ellipse to a set of boxes.

4 views (last 30 days)
Ali Baradaran
Ali Baradaran on 11 Dec 2015
Edited: Ali Baradaran on 11 Dec 2015
I have a set of boxes derived from a text file. These boxes are plotted using the patch command, in the following figure:
Now I would like to fit the biggest ellipse possible, inside this set. What is the best way to do so? FYI: The text file contains the vertices of each small box.

Answers (1)

Alan Weiss
Alan Weiss on 11 Dec 2015
  1. Parametrize an ellipse with a vector x, whose components represent the eccentricity, size, and center (4 dimensions), or any other parametrization you like.
  2. Figure out how you can tell whether, for a given x vector, the ellipse is inside the region. In other words, create a function c(x) that is negative when the entire ellipse is in the region, and is positive when some of the ellipse sticks out of the region, and is smooth.
  3. Write the objective function as negative the area of the ellipse, and the nonlinear inequality constraint is c(x).
  4. Call fmincon from a variety of initial values.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
  1 Comment
Ali Baradaran
Ali Baradaran on 11 Dec 2015
Edited: Ali Baradaran on 11 Dec 2015
Thank you for your answer dear Alan,
Regarding your 2nd step: My main problem is that I do not know what this "region" is. How can I convert the text file (which covers the vertices of all small boxes), to a mathematical expression or a function, ... describing this very region?
Best regards,
Ali

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!