Items tagged with geometry geometry Tagged Items Feed

How to get the equations of circles A, B, C, such as circle A with center (1,1) is drawn in the first quadrant.

Circle B with radius 2 and circle C are placed so that each circle is tangent to the other 2 circles and the x-axis.

THe 3 circles are on the first quadrant.

1) do it with Maple

2) do it by hand

3) draw the figure

 

Regards

For application of object recognition with 3d sensor

plot3d(subs(c=1, a*b+a*c), a=-1..1, b=-1..1);
plot3d(subs(c=1, a+a*b*c), a=-1..1, b=-1..1);

after draw above two equations, they looked having similar structure

i find a book

Differential Geometry and its application John Oprea, page 98

having some measure to determine the shape, however they seems for

2 variables and need parametric form

how to use them to determine above two equations which have 3 variables

 

a*b+a*c  and  a+a*b*c

 

though not know the 3 variables version of below code, 

i think subs(c=1, a*b+a*c), subs(a=1, a*b+a*c), subs(b=1, a*b+a*c)

3 sets of equations after substitute third variables with 1, is it still possible to determine the shape?

 

 

EFG := proc(X)
local Xu, Xv, E, F, G;
Xu := <diff(X[1],u), diff(X[2],u), diff(X[3],u)>;
Xv := <diff(X[1],v), diff(X[2],v), diff(X[3],v)>;
E := DotProduct(Xu,Xu,conjugate=false);
F := DotProduct(Xu,Xv,conjugate=false);
G := DotProduct(Xv,Xv,conjugate=
false);
simplify([E,F,G]);
end:
UN := proc(X)
local Xu, Xv, Z, s;
Xu := <diff(X[1],u), diff(X[2],u), diff(X[3],u)>;
Xv := <diff(X[1],v), diff(X[2],v), diff(X[3],v)>;
Z := CrossProduct(Xu,Xv);
s := VectorNorm(Z,Euclidean,conjugate=false);
simplify(<Z[1]/s|Z[2]/s|Z[3]/s>,sqrt,trig,symbolic);
end:
lmn := proc(X)
local Xu,Xv,Xuu,Xuv,Xvv,U,l,m,n;
Xu := <diff(X[1],u), diff(X[2],u), diff(X[3],u)>;
Xv := <diff(X[1],v), diff(X[2],v), diff(X[3],v)>;
Xuu := <diff(Xu[1],u), diff(Xu[2],u), diff(Xu[3],u)>;
Xuv := <diff(Xu[1],v), diff(Xu[2],v), diff(Xu[3],v)>;
Xvv := <diff(Xv[1],v), diff(Xv[2],v), diff(Xv[3],v)>;
U := UN(X);
l := DotProduct(U, Xuu, conjugate=false);
m := DotProduct(U, Xuv, conjugate=false);
n := DotProduct(U, Xvv, conjugate=false);
simplify([l,m,n],sqrt,trig,symbolic);
end:
shape := proc(X)
local Y,Z,a,b,c,d;
Y:=EFG(X);
Z:=lmn(X);
a:=simplify((Z[1]*Y[3]-Z[2]*Y[2])/(Y[1]*Y[3]-Y[2]^2));
b:=simplify((Z[2]*Y[1]-Z[1]*Y[2])/(Y[1]*Y[3]-Y[2]^2));
c:=simplify((Z[2]*Y[3]-Z[3]*Y[2])/(Y[1]*Y[3]-Y[2]^2));
d:=simplify((Z[3]*Y[1]-Z[2]*Y[2])/(Y[1]*Y[3]-Y[2]^2));
[S(x_u)=a*x_u+b*x_v,S(x_v)=c*x_u+d*x_v];
end:
shape_matrix := proc(X)
local Y,Z,a,b,c,d;
Y:=EFG(X);
Z:=lmn(X);
a:=simplify((Z[1]*Y[3]-Z[2]*Y[2])/(Y[1]*Y[3]-Y[2]^2));
b:=simplify((Z[2]*Y[1]-Z[1]*Y[2])/(Y[1]*Y[3]-Y[2]^2));
c:=simplify((Z[2]*Y[3]-Z[3]*Y[2])/(Y[1]*Y[3]-Y[2]^2));
d:=simplify((Z[3]*Y[1]-Z[2]*Y[2])/(Y[1]*Y[3]-Y[2]^2));
Matrix([[a,c],[b,d]]);
end:

I want to find a point has coordinates are integer numbers and write the equation of tangent line to a given circle,  knowing that, the points of tangent has also integer coordinates. For example, the circle has centre M(-1,-5) and radius R=5. I tried

restart:

with(geometry):

point(M,-1,-5):

R:=5:

eqS:=Equation(circle(S,(a-HorizontalCoord(M))^2 + (b-VerticalCoord(M))^2 -R^2=0,[a,b],'centername'=T)):

L:=[]:

for a from -50 to 50  do

for b from -50 to 50  do

if  a <>HorizontalCoord(M) and b<>VerticalCoord(M) and eqS then

L:=[op(L), [a,b]] fi;

od: od:

nops(L);

eqS:=Equation(circle(S,(x-HorizontalCoord(M))^2 + (y-VerticalCoord(M))^2 -R^2=0,[x,y],'centername'=T));

k:=[seq](sort(Equation(TangentLine(P, S, point(A, pt[])), [x,y])), pt in L):

seq([L[i],k[i]],i=1..nops(L));

Next,

> with(combinat):

d:=choose(k,2):

for i from 1 to nops(d) do  

seq([d[i],solve([op(1,d[i]),op(2,d[i])],[x,y])],i=1..nops(d));

end do;

If I want to the point of intersection of two lines which are not perpendicular line, for example

[[-3*x-4*y-48 = 0, 4*x+3*y-6 = 0], [[x = 24, y = -30]]]

How can I select?

 

 

In the book "Challenges in Geometry" of the author Christopher J. Bradley at p. 32, the triangle with three sides a := 136, b := 170, c := 174 has three medians ma := 158, mb := 131, mc := 127. I checked

restart:

a:=2*68;

b:=2*85;

c:=2*87;

ma:=sqrt((b^2+c^2)/2-a^2/4);

mb:=sqrt((a^2+c^2)/2-b^2/4);

mc:=sqrt((b^2+a^2)/2-c^2/4);

Now I want to find coordinates of vertices of a triangle like that (in plane). I tried

restart;
DirectSearch:-SolveEquations([(x2-x1)^2+(y2-y1)^2 = 136^2,
(x3-x2)^2+(y3-y2)^2 = 170^2, (x3-x1)^2+(y3-y1)^2 = 174^2], {abs(x1) <= 30, abs(x2) <= 30, abs(y1) <= 30, abs(y2) <= 30, abs(x3) <= 30, abs(y3) <= 30}, assume = integer, AllSolutions, solutions = 5);

but my computer runs too long. I think, there is not a triangle with integer coordiantes. 

How can I get  a triangle  with coordinates of vertices are rational numbers?

 

It is well known that  operating in  geometry  package when setting objects symbolically some inconveniences arise. The error occurs if you do not set limits on the parameters. I wrote the procedure for finding center and radius of the circumscribed circle, devoid of drawbacks:

restart;

Circumcircle:=proc(a,b,c)

local x1, y1, x2, y2, x3, y3, n;

uses geometry;

x1,y1:=op(a); x2,y2:=op(b); x3,y3:=op(c);

n:=x2*y3-x3*y2+x3*y1-x1*y3+x1*y2-x2*y1;

point(A,a), point(B,b), point(C,c);

if type(n,realcons) then triangle(T,[A,B,C]); circumcircle(cc,T,'centername'=OO);

return [coordinates(OO),radius(cc)]  else assume(n<>0);

triangle(T,[A,B,C]); circumcircle(cc,T,'centername'=OO);

simplify([coordinates(OO),radius(cc)]); fi;

end proc:

 

At initial startup procedure works correctly:

Circumcircle([x1,y1], [x2,y2], [x3,y3]);

 

 

But if you change the arguments of the procedure, an error occurs:

Circumcircle([x1,1], [x2,y2], [x3,y3]);

 

But if you run the procedure again with the same arguments, the error disappears:

Circumcircle([x1,1], [x2,y2], [x3,y3]);

 

What is the reason?

Circumcircle.mws

Let  us consider the general case of symbolic values C(xC,yC). I make use of the idea suggested by edgar in http://www.mapleprimes.com/questions/97743-How-To-Prove-Morleys-Trisector-Theorem : no assumptions.

restart; with(geometry); point(A, 0, 0);
point(B, 1, 0);
point(C, xC, yC);
point(MA, (xC+1)*(1/2), (1/2)*yC);
point(MC, 1/2, 0);
point(MB, (1/2)*xC, (1/2)*yC);
point(E, (0+1+xC)*(1/3), (0+0+yC)*(1/3));# the center of mass
line(l1, x = 1/4, [x, y]);
The coordinates of the center of the first described circle are found as the solutions of the system of the equations of midperpendiculars.

midpoint(ae, A, E); coordinates(ae);


S1 := solve({x = 1/4, ((xC+1)*(1/3))*(x-(xC+1)*(1/6))+(1/3)*yC*(y-(1/6)*yC) = 0}, {x, y});

BTW, Maple can't create the midperpendiculars in this case.

point(O1, op(map(rhs, S1)));
                               O1

Simple details are omitted in the above. The coordinates of the centers of the two next described circles are found similarly.
coordinates(midpoint(mce, MC, E));

S2 := solve({x = 3/4, ((-1/2+xC)*(1/3))*(x-5/12-(1/6)*xC)+(1/3)*yC*(y-(1/6)*yC) = 0}, {x, y});

point(O2, op(map(rhs, S2)));

                               O2
coordinates(midpoint(bma, B, MA)); coordinates(midpoint(be, B, E));
  

                

S3 := solve({(xC-1)*(x-(xC+3)*(1/4))+yC*(y-(1/4)*yC) = 0, ((-2+xC)*(1/3))*(x-(4+xC)*(1/6))+(1/3)*yC*(y-(1/6)*yC) = 0}, {x, y});

point(O3, op(map(rhs, S3)));

                               O3

Now we find the equation of the circumference which passes through O1, O2, and O3.

eq := a*x+b*y+x^2+y^2+c = 0:
sol := solve({eval(eq, S1), eval(eq, S2), eval(eq, S3)}, {a, b, c});

A long output can be seen in the attached .mw file.

eq1 := eval(eq, sol);

  Now we find (in suspense)  the coordinates of the next center and verify whether it belongs to the sircumference O1O2O3.

coordinates(midpoint(mac, C, MA)); coordinates(midpoint(ec, E, C)); S4 := solve({(xC-1)*(x-(3*xC+1)*(1/4))+yC*(y-3*yC*(1/4)) = 0, ((2*xC-1)*(1/3))*(x-(4*xC+1)*(1/6))+(2*yC*(1/3))*(y-4*yC*(1/6)) = 0}, {x, y});

 point(O4, op(map(rhs, S4)));

                               O4
simplify(eval(eq1, S4));

                             0 = 0

Hope the reader will have a real pleasure to find the two residuary centers and to verify these on his/her own.

geom2.mw

 

 

 

 

It is well known that the medians of a triangle divide it into 6 triangles.
It is less known that the centers of their circumscribed circles belong to one circumference as drawn below

This remarkable theorem  was proved in the 21st century! Unfortunately, I lost its source.
I can't prove this difficult  theorem by hand. However, I can prove it with Maple.
The aim of this post is to expose these proofs. Everybody knows that it is scarcely possible
to construct a general triangle with help of the geometry package of Maple.
Without loss of generality one may assume that the vertex A is placed at the origin,
the vertex B is placed at (1,0), and the vertex C(xC,yC). We firstly consider the theorem
in the case of concrete values of xC and yC.

restart; with(geometry):with(plots):
point(A, 0, 0);
point(B, 1, 0);
xC := 15*(1/10); yC := sqrt(3); point(C, xC, yC);
triangle(T, [A, B, C]);
median(mA, A, T, MA);
median(mB, B, T, MB);
median(mC, C, T, MC);
line(m1, [A, MA]);
line(m2, [B, MB]);
intersection(E, m1, m2);
triangle(AEMB, [A, E, MB]);
circumcircle(c1, AEMB, 'centername' = C1);
circumcircle(c2, triangle(CEMB, [C, E, MB]), 'centername' = C2);
circumcircle(c3, triangle(CEMA, [C, E, MA]), 'centername' = C3);
circumcircle(c4, triangle(BEMA, [B, E, MA]), 'centername' = C4);
circumcircle(c5, triangle(BEMC, [B, E, MC]), 'centername' = C5);
circumcircle(c6, triangle(AEMC, [A, E, MC]), 'centername' = C6);
circle(CC, [C1, C2, C3]);
IsOnCircle(C4, CC);
                              true

IsOnCircle(C5, CC);
                              true
IsOnCircle(C6, CC);
                              true
display([draw([T(color = black), mA(color = black), mB(color = black), mC(color = black), C1(color = blue), C2(color = blue), C3(color = blue), C4(color = blue), C5(color = blue), C6(color = blue), CC(color = red)], symbol = solidcircle, symbolsize = 15, thickness = 2, scaling = constrained), textplot({[-0.5e-1, 0.5e-1, "A"], [.95, 0.5e-1, "B"], [xC-0.5e-1, yC+0.5e-1, "C"]})], axes = frame, view = [-.1 .. max(1, xC)+.1, 0 .. yC+.1]);

This can be done as a procedure in such a way.

restart; SixPoints := proc (xC, yC) geometry:-point(A, 0, 0); geometry:-point(B, 1, 0); geometry:-point(C, xC, yC); geometry:-triangle(T, [A, B, C]); geometry:-median(mA, A, T, MA); geometry:-median(mB, B, T, MB); geometry:-median(mC, C, T, MC); geometry:-line(m1, [A, MA]); geometry:-line(m2, [B, MB]); geometry:-intersection(E, m1, m2); geometry:-triangle(AEMB, [A, E, MB]); geometry:-circumcircle(c1, AEMB, 'centername' = C1); geometry:-circumcircle(c2, geometry:-triangle(CEMB, [C, E, MB]), 'centername' = C2); geometry:-circumcircle(c3, geometry:-triangle(CEMA, [C, E, MA]), 'centername' = C3); geometry:-circumcircle(c4, geometry:-triangle(BEMA, [B, E, MA]), 'centername' = C4); geometry:-circumcircle(c5, geometry:-triangle(BEMC, [B, E, MC]), 'centername' = C5); geometry:-circumcircle(c6, geometry:-triangle(AEMC, [A, E, MC]), 'centername' = C6); geometry:-circle(CC, [C1, C2, C3]); return geometry:-IsOnCircle(C4, CC), geometry:-IsOnCircle(C5, CC), geometry:-IsOnCircle(C6, CC), geometry:-draw([CC(color = blue), C1(color = red), C2(color = red), C3(color = red), C4(color = red), C5(color = red), C6(color = red), T(color = black), mA(color = black), mB(color = black), mC(color = black), c1(color = green), c4(color = green), c2(color = green), c3(color = green), c5(color = green), c6(color = green)], symbol = solidcircle, symbolsize = 15, thickness = 2) end proc;
SixPoints(1.5, 1.2);

true, true, true, PLOT(...)
 SixPoints(1.5, 1.2)[4];

See geom1.mw

To be continued (The general case will be considered in  part 2http://www.mapleprimes.com/posts/200210-Six-Points-On-Circumference-2 .).

 

 





 

Good afternoon sir.

 

I am working on problems related to functions which require dynamic geometry program or

the Geometers sketch pad. I request to you to kindly suggest me with regard to the above cited query.

 

 

With thanks & Regards

 

M.Anand

Assistant Professor in Mathematics

SR International Institute of Technology,

Hyderabad, Andhra Pradesh, INDIA.

Geometry (Circle)...

January 29 2014 yangtheary 60

Let OA=OB=OC=R=3,AB=3√2 and BC=2√2 .Find AC?

In geometry 3D, I have four vertices A(x1,y1,z1), B(x2,y2,z2), C(x3,y3,z3) and D(x4,y4,z4) of a tetrahedron. How to check a point P(x0,y0,z0) inside, outside or lie on  tetrahedron ABCD?

Dear Mapleprimes members,

I am trying to understand some known classical theorems of geometry (thales intersection thm, ceva, menelaus ) from the perspective of affine geometry and projective geometry.(my paper/pencil work is ok.. But I would like to use  Maple to visualize -if possible - geometrically some theorems and properties in a graph)

How could I do it in maple? Where may I get some examples?

thank you,

 

JeanJ

Good morning sir.

 

I request your kind support to the above cited query.

 

 

With thanks & Regards

 

M.Anand

Assistant Professor in Mathematics

SR International Institute of Technology,

Hyderabad, Andhra Pradesh, INDIA.

Ive been given a task to write a fuction that will print true/false to if a given line will intersect a triangle given the co-ordinates of the vertices. 
I have a general idea on what needs to be done mathmaticly, but i have poor maple skills and the syntax is killing me.
I would appreciate some help in this regard.

 

Thanks.

Ok so my problem is that I need to write a function which produces the three inequalities defining a triangle given the 3 points that form its vertices, then with the 4th point supplied to the function I need the function to print false if the 4th point satisfies less than 2 of these inequalities and true if it satisfies more than 2 of these inequalities. Can anybody help me with this? On a previous post I obtained part of the function that produces the triangle, but the 2 inequalities part was not solved.

Thanks for your time

 

I don't know how to write a function that determines whether a non-zero vector intersects a triangle with given vertices. If anybody could help me write a function that satisfies this so that the function returns true if the vector spanning the line intersects the triangle and returns false if it doesn't I would be greatly appreciative.

1 2 3 4 5 6 Page 1 of 6