JAMET

425 Reputation

4 Badges

7 years, 356 days

MaplePrimes Activity


These are questions asked by JAMET

We give a line (D) and a point A located at a distance AH=h from D. A constant angle of magnitude alpha pivots to its apex A and we call B and C the points where its sides cut the line D. Let O be the center of the circle circumscribed to the triangle ABC.
Demonstrate that the B and C tangents to the O circle keep a fixed direction. 
Here is my code which don't work for slopes are not equal.

restart; with(plots): with(geometry):unprotect(D):
_EnvHorizontalName := 'x':_EnvVerticalName := 'y':
line(D, y = (1/2)*x-1); point(A, 5, 5); PerpendicularLine(lp, A, D); h := distance(A, D); intersection(H, D, lp);
alpha := (1/16)*Pi;
rotation(lp1, lp, (1/6)*Pi, 'clockwise', A); rotation(lp2, lp1, (1/6)*Pi-alpha, 'clockwise', A); FindAngle(lp1, lp2); evalf(%);
intersection(B, D, lp1); intersection(C, D, lp2);
triangle(T, [A, B, C]);
circumcircle(Elc, T, 'centername' = OO);
TangentLine(tgB, B, Elc); TangentLine(tgC, C, Elc);
evalf(slope(tgB)); evalf(slope(tgC));
dr := draw([D(color = blue), lp(color = red), Elc(color = green), A, B, C, T(color = black), H, tgB, tgC], printtext = true);

display([dr], axes = none, scaling = constrained);
Fig := proc (k) local dr, Elc, B, C, lp1, lp2; global D, A, lp, H, alpha; geometry:-rotation(lp1, lp, (1/6)*Pi+k, 'clockwise', A); geometry:-rotation(lp2, lp1, (1/6)*Pi-alpha+k, 'clockwise', A); geometry:-intersection(B, D, lp1); geometry:-intersection(C, D, lp2); geometry:-triangle(T, [A, B, C]); geometry:-circumcircle(Elc, T, 'centername' = OO); geometry:-TangentLine(tgB, B, Elc); geometry:-TangentLine(tgC, C, Elc); dr := geometry:-draw([D(color = blue), lp(color = red), Elc(color = green), A, B, C, T(color = black), H, tgB, tgC], printtext = true); plots:-display([dr], axes = none, scaling = constrained) end proc;
iframes := 10;

display([seq(Fig((1/12)*Pi+i/(10*iframes)), i = 1 .. iframes)], insequence, scaling = constrained);
How to improve this code ? Thank you.

Is it possible to write an equation reduction program that uses only LinearAlgebra.?

restart; with(LinearAlgebra); with(Student[LinearAlgebra]); unprotect(D);
f := proc (x, y) options operator, arrow; 5*x^2+4*y*x+8*y^2+16*x-8*y-16 end proc;
A := coeff(f(x, y), x, 2); B := coeff(coeff(f(x, y), x, 1), y, 1); C := coeff(f(x, y), y, 2); D := coeff(coeff(f(x, y), x, 1), y, 0); E := coeff(coeff(f(x, y), y, 1), x, 0);
F := tcoeff(f(x, y));
MQ:=Matrix([[A,B/2], [B/2,C]]):
Delta := A^2-4*A*C;
ML := `<,>`(D, E);
vp := Eigenvalues(MQ);
Omega := evalm(-`&*`((1/2)*ML, 1/MQ));
M1 := MQ-Eigenvalues(MQ)[1]*IdentityMatrix(2);
M2 := MQ-Eigenvalues(MQ)[2]*IdentityMatrix(2);
D := JordanForm(MQ);
with(linalg);
ma := matrix(2, 2, [A, (1/2)*B, (1/2)*B, C]);
jordan(ma, 'P1'); G := map(normalize, GramSchmidt([col(P1, 1 .. 2)])); P := map(simplify, concat(op(G)));

;
evalm(`&*`(`&*`(1/P, MQ), P));
nx := [X, Y];
var := [x, y];
x := matrix([seq([nx[i]], i = 1 .. 2)]); y := evalm(`&*`(P, x));
s := seq(var[k] = y[k, 1]+Omega[k], k = 1 .. 2);
eq := unapply(simplify(expand(subs(s, f(x, y)))), X, Y);
alpha := -eq(0, 0);
a := sqrt(alpha/vp[2]); b := sqrt(alpha/vp[1]); c := sqrt(a^2-b^2); print(X^2/a^2+Y^2/b^2 = 1);

This program works;. It is possible to simplify ? Thank you.

 

I want to remove the term XY
f:=(x,y)->2*x²+xy+y²+4x-y-2=0;
eq := simplify(subs(x = X-9/7, y = Y+8/7, f(x, y)));
theta:=Pi/8;
ex := simplify(subs(X = cos(theta)*X-sin(theta)*Y, Y = sin(theta)*X+cos(theta)*Y, eq)); evalf(%);
How to obtain (3+sqrt(2))/2*X²+(3-sqrt(2))/2=36 ? Thank you.

 

restart; _local(D); A := [-L, 0]; B := [L, 0]; C := [x, y]; D := [-x, y]; Dist := proc (X, Y) options operator, arrow; sqrt((X[1]-Y[1])^2+(X[2]-Y[2])^2) end proc; Eq := (Dist(C, D) = Dist(C, B))^2; centre := [solve(diff(Eq, x), x), solve(diff(Eq, y), y)]; with(geometry); `assuming`([conic(p, Eq, [x, y])], [L > 0]); detail(p); asymptotes(p); y_acymp := `~`[solve](`~`[Equation](asymptotes(p)), y); y := solve(Eq, y)[1] P := proc (X, L0) local Curve, Asymptote, Trapezoid, T, pt, Ip; Curve := plot(eval([y, -y], L = L0), x = -(1/3)*L0 .. 15, color = red, thickness = 3); Asymptote := plot(eval([-sqrt(3)*x-(1/3)*sqrt(3)*L, sqrt(3)*x+(1/3)*sqrt(3)*L], L = L0), x = -(1/3)*L0 .. 15, linestyle = 3, color = black, thickness = 0); Trapezoid := plottools:-polygon(eval([A, B, C, D], [L = L0, x = X]), color = "LightGreen"); Ip := (1/3)*(eval(C, [x = X-(1/3)*L0, L = L0])); #centre of gravity of ABC T := plots:-textplot([[(eval(A, [x = X, L = L0]))[], "A"], [(eval(B, [x = X, L = L0]))[], "B"], [(eval(C, [x = X, L = L0]))[], "C"], [(eval(D, [x = X, L = L0]))[], "D"], [Ip[], "I"]], align = {above, left}, font = [TIMES, 16]); pt := plot([A, B, C, Ip], style = plottools:-point, color = blue, symbolsize = 15); plots:-display(Curve, Asymptote, Trapezoid, T, pt, scaling = constrained, size = [400, 800]) end proc; a := 7; P((1/2)*a, 6) I would like of location of centre of gravity of ABC. Thank you.

I know how to contruct an isoscele ABCD trapeze knowing the 2L length of AB and BC=CD=CD=a. But I don't know answer to that question : L being fixed together with points A and B , show that the place of C when a varies is a branch of hyberbola. Here is my code.

restart; unprotect(O, D);
with(plots):
Vdot := proc (U, V) add(U[i]*V[i], i = 1 .. 2) end:
dist := proc (M, N) sqrt(Vdot(expand(M-N), expand(M-N))) end:
_EnvHorizontalName := x: _EnvVerticalName := y:
O:=[0,0]:A:=[-L,0]:alpha:=arccos((2*L-a)^2/(2*a*(2*L-a))):h:=tan(alpha)*(2*L-a)/2:
B:=[L,0]:C:=[L-(2*L-a)/2,h]:D:=[-L+(2*L-a)/2,h]:
L := 6; a := 7;
poly := [A, B, C, D, A];tp := textplot([[A[], "A"], [B[], "B"], [C[], "C"], [D[], "D"]], color = black, 'align' = {'above', 'right'});
trapeze := polygonplot(poly, axes = normal, color = "DarkGreen", transparency = .9);
display([tp, trapeze], scaling = constrained); Thank you foryour help.

First 20 21 22 23 24 25 26 Last Page 22 of 33