02-18-2019, 09:27 AM
Hello everyone. I recently encountered a planar geometry problem, I tried to solve it with algebraic methods.This requires me to solve a series of equations.
XCAS can't solve it
Wolfram Mathematica 11.3 can't solve it
Wolfram Mathematic 11.3 code
But Maple2018 seems to solve
Its geometric meaning is an equilateral triangle surrounded by three tangents of a circle.
The equation of the circle is
Randomly take three parameters and draw this image
Sure enough, the three tangent lines
Sorry my poor english
Code:
f := proc (alpha) options operator, arrow, function_assign; x*cos(alpha)+y*sin(alpha) end proc;l1:=solve([f(alpha) = 1, f(beta) = 1], [x, y]);l2:=solve([f(alpha) = 1, f(gamma) = 1], [x, y]);l3:=solve([f(beta) = 1, f(gamma) = 1], [x, y]);solve([(l1(1,1)-l2(1,1))^2+(l1(1,2)-l2(1,2))^2=(l1(1,1)-l3(1,1))^2+(l1(1,2)-l3(1,2))^2,(l1(1,1)-l2(1,1))^2+(l1(1,2)-l2(1,2))^2=(l3(1,1)-l2(1,1))^2+(l3(1,2)-l2(1,2))^2],[beta, alpha])
XCAS can't solve it
Wolfram Mathematica 11.3 can't solve it
Wolfram Mathematic 11.3 code
Code:
f[m_] := x*Cos[m] + y*Sin[m]; l1 := {x, y} /.
Solve[f[t1] == 1 && f[t2] == 1, {x, y}]; l2 := {x, y} /.
Solve[f[t1] == 1 && f[t3] == 1, {x, y}]; l3 := {x, y} /.
Solve[f[t2] == 1 && f[t3] == 1, {x,
y}]; Solve[(l1[[1, 1]] - l2[[1, 1]])^2 + (l1[[1, 2]] -
l2[[1, 2]])^2 == (l1[[1, 1]] - l3[[1, 1]])^2 + (l1[[1, 2]] -
l3[[1, 2]])^2 && (l3[[1, 1]] - l2[[1, 1]])^2 + (l3[[1, 2]] -
l2[[1, 2]])^2 == (l1[[1, 1]] - l2[[1, 1]])^2 + (l1[[1, 2]] -
l2[[1, 2]])^2, {t2, t1}]
But Maple2018 seems to solve
Code:
f := proc (alpha) options operator, arrow, function_assign; x*cos(alpha)+y*sin(alpha) end proc; l1 := subs(solve([f(alpha) = 1, f(beta) = 1], [x, y])[1], [x, y]); l2 := subs(solve([f(alpha) = 1, f(gamma) = 1], [x, y])[1], [x, y]); l3 := subs(solve([f(beta) = 1, f(gamma) = 1], [x, y])[1], [x, y]); allvalues(solve([(l1[1]-l2[1])^2+(l1[2]-l2[2])^2 = (l1[1]-l3[1])^2+(l1[2]-l3[2])^2, (l1[1]-l2[1])^2+(l1[2]-l2[2])^2 = (l2[1]-l3[1])^2+(l2[2]-l3[2])^2], [beta, alpha]))
The equation of the circle is
Code:
x^2+y^2=1
Randomly take three parameters and draw this image
Code:
plotimplicit(x*cos(1)+y*sin(1)=1);plotimplicit(x*cos(-8)+y*sin(-8)=1);plotimplicit(x*cos(3)+y*sin(3)=1);plotimplicit(x^2+y^2=1)
Sure enough, the three tangent lines
Sorry my poor english