randomly generated non-intersecting ellipses

7 views (last 30 days)
Tyler
Tyler on 15 Dec 2013
Answered: Sean de Wolski on 16 Dec 2013
Hi all,
i need to generate randomly distributed ellipses within square bounds that are non-intersecting
generating the random points is easy, and creating ellipses is simple enough (likely will involve local and global coordinate systems),
But ensuring that the ellipses do not intersect is a challenge.
Is anyone aware of a pre-existing matlab code to check whether ellipses intersect or not?
Or alternatively, does anyone have a recommendation as to how to approach this problem?
Any help would be greatly appreciated
thanks!

Answers (2)

Matt J
Matt J on 15 Dec 2013
Edited: Matt J on 15 Dec 2013
You could randomly cut up the region into rectangular tiles.
Tiles=true(M,N);
Tiles(randi(M,mtiles,1),:)=false;
Tiles(:,randi(N,ntiles,1))=false;
S=regionprops(Tiles,'BoundingBox');
Then inscribe the tiles with ellipses.
  4 Comments
Matt J
Matt J on 16 Dec 2013
Edited: Matt J on 16 Dec 2013
It would be a bit harder to incribe ellipses into polygons/triangles as opposed to rectangles, but still doable.
This File Exchange tool
would possibly be of help. Using incircle, you can inscribe the voronoi polygons or Delaunay triangles with circles. You can then shrink the circle by a random amount along some axis to obtain an inscribing ellipse.

Sign in to comment.


Sean de Wolski
Sean de Wolski on 16 Dec 2013

Community Treasure Hunt

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

Start Hunting!