Items tagged with plane


The representation of the tangent plane in the form of a square with a given length of the side at any point on the surface.

The equation of the tangent plane to the surface at a given point is obtained from the condition that the tangent plane is perpendicular to the normal vector. With the aid of any auxiliary point not lying on this normal to the surface, we define the direction on the tangent plane. From the given point in this direction, we lay off segments equal to half the length of the side of our square and with the help of these segments we construct the square itself, lying on the tangent plane with the center at a given point.

An examples of constructing tangent planes at points of the same intersection line for two surfaces.

Hei, I'm trying to create a random walk in the plane, with constant step length (=1) and the angle between two consecutive steps are decided by a probability density function. I just can't seem to find out how I should implement the density function into my worksheet.

The probability density function is: p(phi)=(1/4)*cos(phi/2), on the interval [-Pi,Pi].
And  I think i managed to do it by selecting a random angle, but don't know how to generate a random angle given this probability function. Any ideas? It'd be highly appreciated!



With Maple 2015, license Student, is it possible calculate distance between point and plane in R³ ? Package geom3d is recommended for this or another? How can I calculate this?


Thank you so much!

how to test whether a curve  lies in no plane in maple?



For my thesis I would like to illustrate the inclination of the solar system objects in a plane. Imagine the Solar system as a circular plane which is the average of the motions of all objects orbiting the Sun. Each individual planet/object is inclined towards this averaged plane - some more, some less. E.g. this image. Behind Neptune there lies the so-called Kuiper belt with many thousands of dwarf planets (Pluto is one of them and there are over 1000 objects known out there already). Now imagine that the big heavy Jupiter and other big planets perturb those small objects out there: so they are also inclined towards the average plane, see this image. Their inclination depends on their radial distance to the Sun (measured usually in Astronomical Units...1 unit is the distance Sun-Earth...we are talking about 40 to 50 units here). For one, I want to visualise this: imagine a circular plane and each orbit out there has another angle to the average plane. This is the first. But now: imagine the circle with it's 360°. Each object reaches it's highest point on its orbit around the Sun on another angle on this 360° circle. Neptune e.b. at 170°, Pluto at 250° etc. You get the picture. So not only are the objects in the Kuiper belt inclined differently, but their maximum orbit positions are also scattered across an imaginary 360° circle. I want to show this with a 3d-plane like this image but not with two peaks for one orbit. Is there a way to do/plot/visualise this in Maple? I am just interested in a visualisation of the principle without any empirical data behind this.


Dear Maple users,


i have a set of 2 Lines: L1 (determined by the intersection of plane x + y -1=0 and plane x - z - 1=0), 

L2 ( intersection of plane x + y-7=0 and plane x-y+1 = 0 ).

which functions or commands of maple should I use "visualize" those 2 lines L1 and L2?


thanks for your help,



Is it possible to show using maple if a given line in 3d space intersects a 2d plane with given co-ordinal vertices?

Given a figure in the plane bounded by the non-selfintersecting piecewise smooth curve. Each segment in the border defined by the list in the following format (variable names  in expressions can be arbitrary):

1) If this segment is given by an explicit equation, then  [f(x), x=x1..x2)]

2) If it is given in polar coordinates, then  [f(phi), phi=phi1..phi2, polar] , phi is polar angle

3) If the segment is given parametrically, then  [[f(t), g(t)], t=t1..t2]

4) If several consecutive segments or entire border is a broken line, then it is sufficient to set vertices the broken line [ [x1,y1], [x2,y2], .., [xn,yn]]


The first procedure symbolically finds perimeter of the figure. Global variable  Q  saves the lengths of all segments.

Perimeter := proc (L) #  L is the list of all segments of the border

local i, var, var1, var2, e, e1, e2, P;

global Q;

for i to nops(L) do if type(L[i], listlist(algebraic)) then P[i] := seq(simplify(sqrt((L[i, j, 1]-L[i, j+1, 1])^2+(L[i, j, 2]-L[i, j+1, 2])^2)), j = 1 .. nops(L[i])-1) else

var := lhs(L[i, 2]); var1 := min(lhs(rhs(L[i, 2])), rhs(rhs(L[i, 2]))); var2 := max(lhs(rhs(L[i, 2])), rhs(rhs(L[i, 2])));

if type(L[i, 1], algebraic) then e := L[i, 1]; if nops(L[i]) = 3 then P[i] := simplify(int(sqrt(e^2+(diff(e, var))^2), var = var1 .. var2)) else

P[i] := simplify(int(sqrt(1+(diff(e, var))^2), var = var1 .. var2)) end if else

e1 := L[i, 1, 1]; e2 := L[i, 1, 2]; P[i] := abs(simplify(int(sqrt((diff(e1, var))^2+(diff(e2, var))^2), var = var1 .. var2))) end if end if end do;

Q := [seq(P[i], i = 1 .. nops(L))];

add(Q[i], i = 1 .. nops(Q));

end proc:


The second procedure symbolically finds the area of the figure. For correct work of the procedure, all the segments in the list L  of border must pass sequentially in clockwise or counter-clockwise direction.

Area := proc (L)

local i, var, e, e1, e2, P;

for i to nops(L) do

if type(L[i], listlist(algebraic)) then P[i] := (1/2)*add(L[i, j, 1]*L[i, j+1, 2]-L[i, j, 2]*L[i, j+1, 1], j = 1 .. nops(L[i])-1) else

var := lhs(L[i, 2]);

if type(L[i, 1], algebraic) then e := L[i, 1];

if nops(L[i]) = 3 then P[i] := (1/2)*(int(e^2, L[i, 2])) else

P[i] := (1/2)*simplify(int(var*(diff(e, var))-e, L[i, 2])) end if else

e1 := L[i, 1, 1]; e2 := L[i, 1, 2]; P[i] := (1/2)*simplify(int(e1*(diff(e2, var))-e2*(diff(e1, var)), L[i, 2])) end if end if

end do;

abs(add(P[i], i = 1 .. nops(L)));

end proc:


The third procedure shows this figure. To paint the interior of the boundary polyline approximation is used. Required parameters: L - a list of all segments of the border and C - the color of the interior of the figure in the format color = color of the figure. Optional parameters: N - the number of parts for the approximation of each segment (default N = 100) and Boundary is defined by a list for special design of the figure's border (the default border is drawed by a thin black line). The border of the figure can be drawn separately without filling the interior by the global variable Border.

Picture := proc (L, C, N::posint := 100, Boundary::list := [linestyle = 1])

local i, var, var1, var2, e, e1, e2, P, Q, h;

global Border;

for i to nops(L) do

if type(L[i], listlist(algebraic)) then P[i] := op(L[i]) else

var := lhs(L[i, 2]); var1 := lhs(rhs(L[i, 2])); var2 := rhs(rhs(L[i, 2])); h := (var2-var1)/N;

if type(L[i, 1], algebraic) then e := L[i, 1];

if nops(L[i]) = 3 then P[i] := seq(subs(var = var1+h*i, [e*cos(var), e*sin(var)]), i = 0 .. N) else

P[i] := seq([var1+h*i, subs(var = var1+h*i, e)], i = 0 .. N) end if else

e1 := L[i, 1, 1]; e2 := L[i, 1, 2]; P[i] := seq(subs(var = var1+h*i, [e1, e2]), i = 0 .. N) end if end if

end do;

Q := [seq(P[i], i = 1 .. nops(L))];

Border := plottools[curve]([op(Q), Q[1]], op(Boundary));

[plottools[polygon](Q, C), Border];

end proc:


Examples of works:

Example 1.

L := [[sqrt(-x), x = -1 .. 0], [2*cos(t), t = -(1/2)*Pi .. (1/4)*Pi, polar], [[1, 1], [1/2, 0], [0, 3/2]], [[-1+cos(t), 3/2+(1/2)*sin(t)], t = 0 .. -(1/2)*Pi]];

Perimeter(L); Q; evalf(`%%`); evalf(`%%`); Area(L); 

plots[display](Picture(L, color = grey, [color = "DarkGreen", thickness = 4]), scaling = constrained);

plots[display](Border, scaling = constrained);

Example 2.

The easiest way to use this  procedures for polygons.

 L := [[[3, -1], [-2, 2], [5, 6], [2, 3/2], [3, -1]]];

Perimeter(L), Q;


plots[display](Picture(L, color = pink, [color = red, thickness = 3]));



Example 3 (more complicated )

3 circles on the plane C1, C2 and C3 defined by the parametric equations  of their borders. We want to find the perimeter, area, and paint the figure  C3 minus (C1 union C2) . For details see attached file. 

C1 := {x = -sqrt(7)+4*cos(t), y = 4*sin(t)};

C2 := {x = 3*cos(s), y = 3+3*sin(s)};

C3 := {x = 4+5*cos(u), y = 5*sin(u)};

L := [[[-sqrt(7)+4*cos(t), 4*sin(t)], t = -arccos((1/4)*(7+4*sqrt(7))/(sqrt(7)+4)) .. -arctan((3*(-23+sqrt(7)*sqrt(55)))/(23*sqrt(7)+9*sqrt(55)))], [[3*cos(s), 3+3*sin(s)], s = -arctan((1/3)*(9+sqrt(7)*sqrt(55))/(-sqrt(7)+sqrt(55))) .. arctan((1/3)*(-9+4*sqrt(91))/(4+sqrt(91)))], [[4+5*cos(u), 5*sin(u)], u = arctan((3*(41+4*sqrt(91)))/(-164+9*sqrt(91)))+Pi .. arctan(3/4)-Pi]];

Perimeter(L), Q; evalf(%);

Area(L); evalf(%)

 A := plot([[rhs(C1[1]), rhs(C1[2]), t = 0 .. 2*Pi], [rhs(C2[1]), rhs(C2[2]), s = 0 .. 2*Pi], [rhs(C3[1]), rhs(C3[2]), u = 0 .. 2*Pi]], color = black);

B := Picture(L, color = green, [color = black, thickness = 4]);

plots[display](A, B, scaling = constrained);

More examples and all codes see in attached file

Consider two sets in the Euclidean plane, each consisting of 4 points.

First set:  A(0, 0),  B(3, 4),  C(12, 4),  E(4, -1)

Second set:  F(0, -8),  G(12, -4),  H(9, -8),  K(4, -9)

It is easy to check that the set of all pairwise distances between the points of each of the given sets (6 numbers for each set ) are the same. At the same time it is obvious that there is no any...


I am brand new, just joined in order to thank a member (gmm) for a publicly searchable MaplePrimes post I discovered in researching the origin of french curves. I linked to gmm's post in a blog post I wrote about the application of conic sections in the drafting of sewing patterns. I tried to send gmm an email...

I want to write the equation of the plane passing through the three points A, B, C has the form ax + by + cz + d = 0 where a, b, c, d are integer numbers, a >0 if a <> 0; b>0 if a = 0 and b<>0,...and igcd(a, b, c) = 1.

If the coordinates of the vertices A, B, C are all integers, for example A(2,2,2), B(1,2, -1), C(1,-1,-4), I tried,



point(B,1,2, -1):

I want to graph the portion of the plane 2x + 3y + z = 6 that are located in the first octant of a xyz coordinate system. The following implicitplot3d should in principle do it:

For L a given L-function (such as the Ramanujan-tau Dirichlet series) I would like to compute L(s) at 2.5*10^5 values of s equidistributed in a square region of the complex plane in a reasonably short time (meaning, say, less than an hour.) Is there a Maple function that will do this, either in the original software or available on the web?

So basically I'm trying to slice a tesseract, with a 3D surface but first want to be able to slice a cube, with a 2D plane. so I have a 3D plot of a polygon of a face (of a cube) and I want to find the intersection of that with a plane. intersectplot doesn't seem to be working for me, and I'm unsure of how to represent a finite face of a cube as a plane


Page 1 of 1