Determining if the circle intersects the given triangle

2 views (last 30 days)
Hi, This is coming up when I am doing Finite Element Method: I've triangulation of the rectangle in 2d, and I am looping over the triangles. I also have few circle inside the rectangle. When I am in a current triangle, I want to find out if it intersects any of those circle, and if yes, how it intersects them, e.g. if it intersects one of the vertices, or only edges, or both. thanks

Answers (2)

John D'Errico
John D'Errico on 17 Dec 2011
We won't do your homework for you. This is just basic geometry. So do it.
1. Write down what it means for these objects to intersect. Do it on paper, forcing yourself to think clearly. If you don't bother thinking clearly about a problem, you cannot solve it. What must happen for an intersection?
2. Given the above step, define a set of tests to determine if there is an intersection.
3. Write matlab code for the above.
Only you can do this. And only you care about the result, as it is your homework, not ours.
  1 Comment
Aziz
Aziz on 17 Dec 2011
I do know how to do it using loops, but is it little longer. I was wondering if there is an easier way. E.g. can we define regions in matlab, e.g. if we have the vertices can we define triangle etc.

Sign in to comment.


Image Analyst
Image Analyst on 17 Dec 2011
Try the function called something like inpolygon(). If you know the perimeter coordinates, you're all set.

Categories

Find more on Line Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!