Kitonum

21665 Reputation

26 Badges

17 years, 181 days

MaplePrimes Activity


These are replies submitted by Kitonum

@Andiguys Yes, it is easy to do. Just remove x=10000 from your data. To plot 2 graphs for each vertical axis, use a separate list for each pair of graphs. Read the plot,details help for this.

 vv ,  mmcdara   Thank you for your interest and the solutions provided. My solution below differs from vv's solution in that I use  simplify  with siderals instead of  solve . Since  siderals  does not work with  abs, in order not to miss solutions I had to take into account different signs distributions (4 options in total):

restart;
A:=<x1,a>: B:=<x2,b>: C:=<x3,c>: vA:=<v1,0>: vB:=<v2,0>: vC:=<v3,0>:
f:=t->A+t*vA: g:=t->B+t*vB: h:=t->C+t*vC:
S:=t->1/2*LinearAlgebra:-Determinant(<g(t)-f(t) | h(t)-f(t)>):
P:=combinat:-permute([1,1,-1,-1],2):
{seq(simplify(abs(S(10)), {S(0)=2*p[1], S(5)=3*p[2]}), p=P)};

                                 


PS.  This problem is taken from a wonderful book (in Russian)  В.В. Прасолов "Задачи по планиметрии (часть 2)", which contains many original and non-trivial geometric problems on a variety of topics. This book can probably be found in translations into other languages.

If the number (-1) in the exponent simply means the reciprocal value, then the syntax is very simple

simplify(1/(diff(z, t)-diff(z, x)));

If you mean the inverse function, then clarification is required here, since you have a function of several variables.

@nilswe 

restart;
`&||` := (R::seq(algebraic)) -> `if`(_npassed = 0, infinity, 1/(add(`/`~(1, [R]))));
`&||`(R1,R2);

salim-barzani   Try   eq6 := eval(L, {x = Y/t, t^2 = Z, x^2 = X});

@JAMET  This is a completely different task and you should ask a separate question for it. Moreover, you must use English, because this is an English-language forum.

@JAMET   See my updated answer.

@Andiguys  Maybe so

P := evalf[4]([eval([k1, delta][], s[2]), s[1]]); 
display(plot3d(TRC(k1, delta), k1 = 0 .. 1, delta = 0 .. 1), pointplot3d(P, color = red, symbol = solidcircle, symbolsize = 17), textplot3d([P[], P], font = [times, 12], align = [ABOVE,RIGHT]), orientation = [45, 75], axes = normal);

         

 

 

@Andiguys  I didn't notice that the  0  after the delta should also be a subscript. The following option   labels=[ `&delta;`[0], s[2] ]    works for me.

@Earl  I think that for your purposes a procedure will be useful that will allow you to easily generate a chain of tangent circles of any length. The parameters of the  Circles  procedure are: n - circle's number, R - radius of the original circle, r1 - radius of the larger of the small circles. The procedure returns the center of the n-th small circle:

restart;
Circles:=proc(n,R,r1)
option remember;
if n=1 then return [2*sqrt(R*r1),r1] else
simplify([Circles(n-1,R,r1)[1]*sqrt(R)/(sqrt(R)+sqrt(Circles(n-1,R,r1)[2])),Circles(n-1,R,r1)[2]*R/(sqrt(R)+sqrt(Circles(n-1,R,r1)[2]))^2]) fi;
end proc:

# Examples of use

S0:=seq(Circles(n,4,1), n=1..15);
S:=seq(plottools:-circle(Circles(n,4,1),Circles(n,4,1)[2]), n=1..15):
plots:-display(plottools:-circle([0,4],4),S, scaling=constrained, view=[0..5.5,0..2.5],size=[900,600]);

     

 

 

@Rouben Rostamian  Thank you for this great construction! I converted your comment into an answer and vote up.

@Earl  Using the general formulas from my answer above, it is easy to verify that regardless of the size of the smaller circles, the centers of these circles are always on the parabola  y=x^2/(4*R) , where  R  is the radius of the original large circle. This is clearly visible in the animation:

restart;
OneFrame:=proc(R,r1)
local O,dist,O1,O20,O2,O3,O4,O5,O6,k1,k2,k3,k4,P1,P2,P3,P4,P5,P6:
uses plots, plottools;
dist:=(A,B)->sqrt((A[1]-B[1])^2+(A[2]-B[2])^2):
O:=[0,R]: O1:=[x1,y1]: O2:=[x2,y2]: O3:=[x3,y3]: 
O1:=eval(O1,solve({dist(O,O1)=R+r1,y1=r1}, {x1,y1},explicit)[1]):
O20:=eval([x2,y2],simplify(solve({dist(O1,O2)=r1+r2, dist(O,O2)=R+r2,y2=r2},{x2,r2,y2}, explicit)[1])):
O2:=[2*sqrt(R)*sqrt(r1)*sqrt(R)/(sqrt(R)+sqrt(r1)),r1*(sqrt(R)/(sqrt(R)+sqrt(r1)))^2]:
k1:=simplify(sqrt(R)/(sqrt(R)+sqrt(O2[2])));
O3:=simplify([O2[1]*k1,O2[2]*k1^2]);
k2:=simplify(sqrt(R)/(sqrt(R)+sqrt(O3[2])));
O4:=[O3[1]*k2,O3[2]*k2^2]:
k3:=simplify(sqrt(R)/(sqrt(R)+sqrt(O4[2])));
O5:=[O4[1]*k3,O4[2]*k3^2]:
k4:=simplify(sqrt(R)/(sqrt(R)+sqrt(O5[2])));
O6:=[O5[1]*k4,O5[2]*k4^2]:
P1:=circle(O1,O1[2],thickness=2); P2:=circle(O2,O2[2],thickness=2); P3:=circle(O3,O3[2],thickness=2); P4:=circle(O4,O4[2],thickness=2); P5:=circle(O5,O5[2],thickness=2); P6:=circle(O6,O6[2],thickness=2);

display(circle(O,R,thickness=2,color=blue),P1,P2,P3,P4,P5,P6,plot(x^2/(4*R), x=0..10, color=green, thickness=2), pointplot([O1,O2,O3,O4,O5,O6],color=red,symbol=solidcircle,symbolsize=4),scaling=constrained, view=[-4..12,0..9] );
end proc:


plots:-animate(OneFrame,[4,r1],r1=0.4..4,frames=73);

      

 

@vv  Thank you for the solution!

@Rouben Rostamian  
Thank you for your interest and original solution!

Here is my short manual solution without trigonometry for an arbitrary right triangle:

We use the well-known formula for the radius of a circle inscribed in a right triangle  (a + b - c) / 2 . Further (see the figure) triangles  AEF = FKC , since they are similar, and the inscribed circles in them are the same. Therefore,   divides the segment  AC  in the ratio a : b . We get  AF = a*c / (a + b) . The similarity coefficient of triangle  AEF  with respect to triangle  ABC  is  k = c / (a+b) .
So we get the final answer  r = (a+b-c)*c / (2*(a+b))   (for the right triangle with sides 3, 4, 5 radius r = 5 / 7 )

Of course my and your answers for right triangles are the same:

is((a+b-c)*c/(a+b)/2=c/(a/(c-b)+2+b/(c-a))) assuming c^2=a^2+b^2;

                                       true
  

@minhthien2016  It is not difficult to do. I already wrote in one of the comments that each element of the list  L , i.e.  [x, y, z, u, v, w]  means a tetrahedron, in which  x, y, z  are the lengths of 3 edges coming out of one vertex,  u is opposite z ,  v is opposite y , w is opposite x  

1 2 3 4 5 6 7 Last Page 3 of 133