Items tagged with geometry geometry Tagged Items Feed


I would like to define all the geometry parameters in a multibody model in MapleSim in mm.

Consequently, i define the mm unit for a parameter in 3 places :
1)  in the Parameters area of the subsystem 

2) in the Tab Inspector of the subsystem


3) in the Tab Inspector of the rigid body frame of the subsystem


The problem is that I receive the warning "Possible double conversion unit on a parameter" and the dimension seems to be as 10^-3 *mm soit too much reduced.

I see that in some examples of the library of Maplesim the parameters of the parameters area of a subsystem are defined as real and consequently, it doesn't cause this kind of problem.

However, how can I do if I want to define my parameters in the parameters area of a subsystem as a position in mm ?

Thanks a lot for your help




I use for the 3D visualization the component CAD geometry with STL files.
My STL files are created from CATIA with parts mesured in mm.
In MapleSim, in order to keep mm, I have, of course, to set "mm" in the inspector tab of the components "CAD geometry".
But, I have also to put the scale factor to 0.001.
I don't understand why I should to set it to 0.001 because :
- the CADs from CATIA are in mm.
- and the option in the inspector tab of the components "CAD geometry" is also in mm.
Would you have some precisions about the scale factor for the "CAD geometry" element ?

Thank you for your help.

Using the Plot Component it is possible to obtain
an interactive worksheet for drawing visually plane geometry
elements, e.g. select a triangle and draw its incircle.
Do you know if such worksheets are available somewhere?


I am trying to use Apollonius procedure from geometry package. Here is an example:

circle( c1, [ point( c1c, 0 , 0 ), 5 ] );
circle( c2, [ point( c2c, 5 , 4 ), 2 ] );
circle( c3, [ point( c3c, 13 , 0 ), 3 ] );
A := Apollonius( c1, c2, c3 );

Unfortunatelly the Apollonius method does not give any result. The only message is:

intersection: there is no point of intersection


Anyone know what is wrong in my code?

Best regards

Rafał Nowak

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?


1 2 3 4 5 6 Page 1 of 6