How capable is Mathematica when it comes to typical school geometry problems? Is there a way to throw constraints at it and get it to spit out a solution? Here are two geometry problems from my graduation exam that are simple to solve by hand, but all my attempts to make Mathematica do it have failed. Mind you, I'm by no means proficient in Mathematica, let alone its geometry features.
I'm omitting what's obvious from the drawing for brevity. If the radius of the small circle is 15 cm, what is the radius of the large circle? The solution is 32,32 cm.
A train travels from A to B and a car travels from B to C, both at constant speed. They start moving at the same time. The car is twice as fast as the train. The rail from A to B is 53 km long. How much kilometers will the train have traveled when the flight distance between the train and the car is minimal? The solution is 15,143.
If these problems cannot be solved for whatever reason, can you give me example of a similar one that can?
I might have phrased my question poorly, leading to a lot of confusion. I wanted to see a problem solved with minimal pre-solving by the human. Ideally, only the constraints explicitly stated in the problem text and those obvious from the image should constitute the input. Take the second problem as an example. I want to tell Mathematica the following things:
- There is a point X on AB (representing the train)
- There is a point Y on BC (the car)
- |AB| = 53km
- 2 * |AX| = |BY|
- The angle between BA and BC (as vectors) is 60 degrees.
- What is the value of |AX| when |XY| is minimal?
There are ways to express these thing in Mathematica, like
X ∈ Line[A, B] where A, B and X would remain elsewhere defined as points with symbolic coordinates. These coordinates shouldn't be explicitly stated, as m_goldberg did in his solution. He choose them, quite cleverly, so that the expression of the problem was the shortest. This takes insight into the problem, which shouldn't be necessary since the coordinates can remain arbitrary, that is, Mathematica should be able to cancel them out, in a way. If you were to solve this problem by hand, you wouldn't do it analytically, the coordinates would remain undefined.
It is obvious to me that once you express these problems in a suitable way, Mathematica can solve them. In some sense, it's only acting as a glorified calculator. If you simplify them to the bare arithmetic, a simple handheld four-function calculator could solve them, but that doesn't mean it's actually solving geometry. In fact both m_goldberg's solutions have little mention of geometry, even though Mathematica does provide facilities to talk about geometry (Triangle, Line, and so on).
The somber conclusion is that, even for problems as simple as my examples, the constraints are too wast for a computer to crunch trough without human aid. Or perhaps Mathematica doesn't implement the required methods, which surprises me since it boasts it's symbolic capabilities.