Items tagged with geometry geometry Tagged Items Feed

Let ABC be a triangle with A(3,0,0),B(0,6,0),C(0,0,4) and let H(x,y,z) be its orthocenter .Find the coordinates of point H ?

glue two geometric object

i use maple 17, 

will future version of maple do this?

or which software can do this?


Concerning the 3D visualization of my multibody systems, in the visualization windows, i can see both :
- the display of geomtry of the elements which has been defined as simple forms (as cylindrical geometry)
- the display of the geometry of the elements where the display of the geometry has been defined with CAD.

However, concerning the 3D animation, i have only see the components where the display of the geometry is defined as simple forms (as cylindrical geometry).

Have you some ideas why I can not see the elements which has been defined with CAD ?

For your information, the CAD geometries have been defined with STL files and, in the CAD geometry component, I let the box "Transparent" empty.

Thank you for your help

I have some triangles ABC with vertices

1) A(-13,-5,5), B(-5,11,-11), C(-3,-9,15) has centre of out circle is (3, 3, 3), orthocentre (-27, -9, 3) and centroid (-7, -1, -3). 

2) A(-6,6,-1), B(-5,-1,-3), C(2,10,7) has centre of out circle is (1, 2, 3), orthocentre (-11, 11, -3) and centroid (-3, 5, 1). 

How can I write a program to find a triangle with integer coordinates of vertices, centroid, orthocenter and center of the triangle in geometry 3D? 

How to convert an  algebraic equation to a parametrized one ?


How to sketch the curve of a circular cylinder , x^2+y^3^=a^2 with the parametric equations lying on it ?

x=a*cos't) , y=a*sin(t) , z=b*t , if t varies from 0 to 2*Pi, the point P starts at(a,0,0) and moves upward.

How to show that the parametric equations are indeed lying on the cylinder ?

How to plot the whole things ?



I'm using my own Maple package to make questions in Maple T.A.. I'm working with finite automata so I'd like to draw graphs in the text of the questions. I have a function that draws automata, it uses plots:-display as it's output. Is there a way that I can use plots:-display in plotmaple, like this? (This is example doesn't work, I'd like to know why and how I have to modify it.)

$circ=maple("geometry:-circle('Circ', [geometry:-point('PP',0,0),3]);
$plo=plotmaple("plots:-display($circ),plotdevice='gif', plotoptions='height=250, width=250'");

Thank you for the answers.

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



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=
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);
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);
shape := proc(X)
local Y,Z,a,b,c,d;
shape_matrix := proc(X)
local Y,Z,a,b,c,d;

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





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


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:


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):



> with(combinat):


for i from 1 to nops(d) do  


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








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

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:



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

uses geometry;

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


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?


Let  us consider the general case of symbolic values C(xC,yC). I make use of the idea suggested by edgar in : 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)));

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)));

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)));


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)));

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.





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);

IsOnCircle(C5, CC);
IsOnCircle(C6, CC);
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];


To be continued (The general case will be considered in  part 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



Assistant Professor in Mathematics

SR International Institute of Technology,

Hyderabad, Andhra Pradesh, INDIA.

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

1 2 3 4 5 6 Page 1 of 6