On Tue, Apr 4, 2017 at 6:45 PM Aaron Meurer <[email protected]> wrote:

> On Tue, Apr 4, 2017 at 5:12 AM <[email protected]> wrote:
>
> geometry.intersection doesn't work in this scenario
>
> In what sense in doesn't work? Is it broken?
>
> You can find if a circle is wholly inside a polygon in two steps:
> 1) find if they intersect each other:
>    your_polygon = Polygon(Point(a, b), ...)
>    your_circle = Circle(Point(c, d), radius)
>    your_polygon.intersection(your_circle)
> If you get empty list you know that circle is inside the polygon or
> polygon is inside the circle.
>
> 2)Now you should check if random point from circle is enclosed by polygon:
>   your_ polygon.encloses_point(your_circle.random_point())
> If you get True, you know that circle is inside polygon.
>
>
> Won't this also pass sometimes if the polygon is inside the circle?
>
> I think you would need to pick random points in each until you find one
> that is in one and not the other. However, if the circle circumscribes the
> polygon and it is very convex (or the other way around), there may be a low
> probability of finding the desired point. So a more direct solution would
> be preferred.
>

And you also have to handle the case where neither is inside the other
(this random points method won't help you here).

Aaron Meurer

>
> Aaron Meurer
>
>
>
> Szymon
>
> W dniu poniedziałek, 3 kwietnia 2017 23:53:03 UTC+2 użytkownik Bron Davies
> napisał:
>
> How can I tell if a circle is wholly inside a polygon?  geometry.
> intersection doesn't work in this scenario
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/f782bdff-56b5-42af-815c-3901bd807b60%40googlegroups.com
> <https://groups.google.com/d/msgid/sympy/f782bdff-56b5-42af-815c-3901bd807b60%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6KMYku%2BAuVOZ3vHZV2f%2B0Kovdc9LawXjCYaKVX9T-1GnQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to