Message Boards Message Boards

0
|
4804 Views
|
4 Replies
|
1 Total Likes
View groups...
Share
Share this post:

Find the intersection point of two lines using "RandomInstance"?

Posted 5 years ago

Hello! I'm testing the new tools of "Mathematica12" about synthetic geometry, and I see that Mathematica can't find an exemple with E=A, the intersection of lines AB and AC. It's stays thinking, without stopping. Is it so blind? How I can write "Let be E the intersection on the lines r and s" with "GeometricAssertion"? Thanks!

Scene = GeometricScene[{a, b, c, e}, {
   Triangle[{a, b, c}],
   GeometricAssertion[{a, b, e}, "Collinear"],
   GeometricAssertion[{a, c, e}, "Collinear"]
   }]
RandomInstance [%]
POSTED BY: Gerard Romo
4 Replies

RandomInstance/GeometricScene make certain nondegeneracy assumptions about inputs. Polygons are always assumed to be simple (no self-intersections), and lines (either explicitly stated by Line/HalfLine/InfiniteLine/etc or implicitly stated by things like GeometricAssertion[...,"Collinear"]) are always assumed to consist of distinct points. The assumption that points on implicitly stated lines need be distinct may be relaxed for V12.1, however, due to cases like this (where you want to show that certain collinearity hypotheses lead to the conclusion that two points are in fact equal).

POSTED BY: Daniel McDonald

I don't know the internals, so I am just guessing. The solutions you have in mind are degenerate, as they require two points to coincide. Maybe the random algorithm has zero chance of hitting on them. It keeps finding a degenerate Triangle, so it tries another random instance, and so on.

POSTED BY: Gianluca Gorni

Thanks, Gianluca, but I need to work with triangles. I don't undertand why Mathematica can find intersection points with circumcircles and perpendicular bisectors or angle bisector but RandomInstance can't find the easy intersection of two lines, (the last one):

Scene1 = GeometricScene[{a, b, c, e}, {Triangle[{a, b, c}],
   AngleBisector[{a, b, c}],
   CircleThrough[{a, b, c}],
   e \[Element] AngleBisector[{a, b, c}],
   e \[Element] CircleThrough[{a, b, c}]
   }]
RandomInstance[Scene1] (*It works well!*)

Scene2 = GeometricScene[{a, b, c, e}, {Triangle[{a, b, c}],
   AngleBisector[{a, b, c}],
   CircleThrough[{a, b, c}],
   PerpendicularBisector[{a, c}],
   e \[Element] PerpendicularBisector[{a, c}],
   e \[Element] CircleThrough[{a, b, c}]
   }]
RandomInstance[Scene2](*It works well!*)

Scene3 = GeometricScene[{a, b, c, e}, {
   Triangle[{a, b, c}],
   e \[Element] AngleBisector[{a, b, c}],
   e \[Element] Line[{a, c}]
   }]
RandomInstance[Scene3](*It works well!*)

Scene4 = GeometricScene[{a, b, c, e}, {
   Triangle[{a, b, c}],
   e \[Element] Line[{a, b}],
   e \[Element] Line[{a, c}]
   }]
RandomInstance[Scene4] (*It fails. The triangle becomes a line!!*)
POSTED BY: Gerard Romo

It works if we remove the Triangle object:

GeometricScene[{a, b, c, e},
 {GeometricAssertion[{a, b, e}, "Collinear"],
  GeometricAssertion[{a, c, e}, "Collinear"]}]
RandomInstance[%]
POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract