Items tagged with geom3d

Feed

I see from here http://www.mapleprimes.com/questions/220829-How-Do-I-Write-The-Equation-Of-The-Plane to write the equation of a sphere. I tried 
restart; L := [[[0, 0, 0], [2, 0, 0], [0, 2, 0], [2, 2, 0]], [[0, 0, 0], [2, 0, 0], [0, 2, 0], [0, 0, 2]], [[0, 0, 0], [2, 0, 0], [0, 2, 0], [2, 0, 2]], [[0, 0, 0], [2, 0, 0], [0, 2, 0], [0, 2, 2]], [[0, 0, 0], [2, 0, 0], [0, 2, 0], [2, 2, 2]], [[0, 0, 0], [2, 0, 0], [2, 2, 0], [0, 0, 2]], [[0, 0, 0], [2, 0, 0], [2, 2, 0], [2, 0, 2]], [[0, 0, 0], [2, 0, 0], [2, 2, 0], [0, 2, 2]], [[0, 0, 0], [2, 0, 0], [2, 2, 0], [2, 2, 2]], [[0, 0, 0], [2, 0, 0], [0, 0, 2], [2, 0, 2]], [[0, 0, 0], [2, 0, 0], [0, 0, 2], [0, 2, 2]], [[0, 0, 0], [2, 0, 0], [0, 0, 2], [2, 2, 2]], [[0, 0, 0], [2, 0, 0], [2, 0, 2], [0, 2, 2]], [[0, 0, 0], [2, 0, 0], [2, 0, 2], [2, 2, 2]], [[0, 0, 0], [2, 0, 0], [0, 2, 2], [2, 2, 2]], [[0, 0, 0], [0, 2, 0], [2, 2, 0], [0, 0, 2]], [[0, 0, 0], [0, 2, 0], [2, 2, 0], [2, 0, 2]], [[0, 0, 0], [0, 2, 0], [2, 2, 0], [0, 2, 2]], [[0, 0, 0], [0, 2, 0], [2, 2, 0], [2, 2, 2]], [[0, 0, 0], [0, 2, 0], [0, 0, 2], [2, 0, 2]], [[0, 0, 0], [0, 2, 0], [0, 0, 2], [0, 2, 2]], [[0, 0, 0], [0, 2, 0], [0, 0, 2], [2, 2, 2]], [[0, 0, 0], [0, 2, 0], [2, 0, 2], [0, 2, 2]], [[0, 0, 0], [0, 2, 0], [2, 0, 2], [2, 2, 2]], [[0, 0, 0], [0, 2, 0], [0, 2, 2], [2, 2, 2]], [[0, 0, 0], [2, 2, 0], [0, 0, 2], [2, 0, 2]], [[0, 0, 0], [2, 2, 0], [0, 0, 2], [0, 2, 2]], [[0, 0, 0], [2, 2, 0], [0, 0, 2], [2, 2, 2]], [[0, 0, 0], [2, 2, 0], [2, 0, 2], [0, 2, 2]], [[0, 0, 0], [2, 2, 0], [2, 0, 2], [2, 2, 2]], [[0, 0, 0], [2, 2, 0], [0, 2, 2], [2, 2, 2]], [[0, 0, 0], [0, 0, 2], [2, 0, 2], [0, 2, 2]], [[0, 0, 0], [0, 0, 2], [2, 0, 2], [2, 2, 2]], [[0, 0, 0], [0, 0, 2], [0, 2, 2], [2, 2, 2]], [[0, 0, 0], [2, 0, 2], [0, 2, 2], [2, 2, 2]], [[2, 0, 0], [0, 2, 0], [2, 2, 0], [0, 0, 2]], [[2, 0, 0], [0, 2, 0], [2, 2, 0], [2, 0, 2]], [[2, 0, 0], [0, 2, 0], [2, 2, 0], [0, 2, 2]], [[2, 0, 0], [0, 2, 0], [2, 2, 0], [2, 2, 2]], [[2, 0, 0], [0, 2, 0], [0, 0, 2], [2, 0, 2]], [[2, 0, 0], [0, 2, 0], [0, 0, 2], [0, 2, 2]], [[2, 0, 0], [0, 2, 0], [0, 0, 2], [2, 2, 2]], [[2, 0, 0], [0, 2, 0], [2, 0, 2], [0, 2, 2]], [[2, 0, 0], [0, 2, 0], [2, 0, 2], [2, 2, 2]], [[2, 0, 0], [0, 2, 0], [0, 2, 2], [2, 2, 2]], [[2, 0, 0], [2, 2, 0], [0, 0, 2], [2, 0, 2]], [[2, 0, 0], [2, 2, 0], [0, 0, 2], [0, 2, 2]], [[2, 0, 0], [2, 2, 0], [0, 0, 2], [2, 2, 2]], [[2, 0, 0], [2, 2, 0], [2, 0, 2], [0, 2, 2]], [[2, 0, 0], [2, 2, 0], [2, 0, 2], [2, 2, 2]], [[2, 0, 0], [2, 2, 0], [0, 2, 2], [2, 2, 2]], [[2, 0, 0], [0, 0, 2], [2, 0, 2], [0, 2, 2]], [[2, 0, 0], [0, 0, 2], [2, 0, 2], [2, 2, 2]], [[2, 0, 0], [0, 0, 2], [0, 2, 2], [2, 2, 2]], [[2, 0, 0], [2, 0, 2], [0, 2, 2], [2, 2, 2]], [[0, 2, 0], [2, 2, 0], [0, 0, 2], [2, 0, 2]], [[0, 2, 0], [2, 2, 0], [0, 0, 2], [0, 2, 2]], [[0, 2, 0], [2, 2, 0], [0, 0, 2], [2, 2, 2]], [[0, 2, 0], [2, 2, 0], [2, 0, 2], [0, 2, 2]], [[0, 2, 0], [2, 2, 0], [2, 0, 2], [2, 2, 2]], [[0, 2, 0], [2, 2, 0], [0, 2, 2], [2, 2, 2]], [[0, 2, 0], [0, 0, 2], [2, 0, 2], [0, 2, 2]], [[0, 2, 0], [0, 0, 2], [2, 0, 2], [2, 2, 2]], [[0, 2, 0], [0, 0, 2], [0, 2, 2], [2, 2, 2]], [[0, 2, 0], [2, 0, 2], [0, 2, 2], [2, 2, 2]], [[2, 2, 0], [0, 0, 2], [2, 0, 2], [0, 2, 2]], [[2, 2, 0], [0, 0, 2], [2, 0, 2], [2, 2, 2]], [[2, 2, 0], [0, 0, 2], [0, 2, 2], [2, 2, 2]], [[2, 2, 0], [2, 0, 2], [0, 2, 2], [2, 2, 2]], [[0, 0, 2], [2, 0, 2], [0, 2, 2], [2, 2, 2]]];
getEq := proc (L1::listlist) local p, S, expr; seq(geom3d:-point(p || j, L1[j]), j = 1 .. 4); geom3d:-Equation(geom3d:-sphere(S, [p1, p2, p3, p4], [x, y, z])) end proc; map(getEq, L);

But I couldn't get the result. How can get the result?


 

I want to write a plane passing through a point (in list) and parallel to a plane.

L := [[-14, 2, 3], [-13, -3, 1], [-13, -3, 5], [-13, 0, -2]]:
 with(geom3d):
point(A, L[1]):
 plane(P, 2*x+3*y+z = 0, [x, y, z]):
 n := NormalVector(P):
Equation(plane(Q, [A, n], [x, y, z]));


I tried 
t[i] := ([seq])(point(M, pt[]), pt in L):
Equation( plane(Q,t[i],n],[x,y,z]),i=1..nops(L));

It is not true. How can I repair it?

I have a list
restart;
L := [10*x+y-6*z+66 = 0, 26*x-10*y-3*z+96 = 0, 2*x-y+6 = 0, 2*x-y+6 = 0, 4*x-5*y+3*z-6 = 0, 30*x-22*y+7*z+48 = 0, 2*x-2*y+z = 0, 26*x-19*y+6*z+42 = 0, 22*x-17*y+6*z+30 = 0, 14*x-30*y+23*z-96 = 0, 6*x-10*y+7*z-24 = 0, 2*x-7*y+6*z-30 = 0, 4*x-y-z+10 = 0, 42*x-2*y-19*z+20 = 0, 38*x-2*y-17*z+20 = 0, 30*x-y-14*z+10 = 0, 18*x+2*y-11*z-20 = 0, 6*x+13*y-16*z-130 = 0, 18*x+7*y-16*z-70 = 0, 6*x+2*y-5*z-20 = 0, 14*x+15*y-22*z-150 = 0, 18*x+13*y-22*z-130 = 0, 6*x+4*y-7*z-40 = 0, 26*x-3*y-10*z+110 = 0, 10*x-6*y+z+52 = 0, 2*x-z+8 = 0, 26*x+6*y-19*z+92 = 0, 22*x+6*y-17*z+76 = 0, 2*x+y-2*z+6 = 0, 14*x-18*y+11*z+92 = 0, 2*x-6*y+5*z+20 = 0, 2*x+6*y-7*z-4 = 0, 10*x-3*y-2*z+22 = 0, 26*x-7*y-6*z+66 = 0, 2*x-y = 0, y-z+11 = 0, 4*x-9*y+7*z-77 = 0, 6*x-5*y+2*z-22 = 0, 24*x-13*y+z-11 = 0, 2*x-y = 0, 2*x-y = 0, y-z+11 = 0, 4*x-5*y+3*z-33 = 0, 6*x-4*y+z-11 = 0, 4*x-3*y+z-11 = 0, 18*x-19*y+10*z-110 = 0, 14*x-13*y+6*z-66 = 0, 2*x-2*y+z-11 = 0, 26*x-6*y-7*z+68 = 0, 10*x-2*y-3*z+24 = 0, 2*x-z+2 = 0, 6*x+y-4*z-1 = 0, 4*x+y-3*z-3 = 0, y-z-7 = 0, 4*x+3*y-5*z-17 = 0, 18*x+10*y-19*z-52 = 0, 8*x+17*y-21*z-111 = 0, 4*x+5*y-7*z-31 = 0, 4*x-3*y+z-2 = 0, 10*x-6*y+z+4 = 0, 14*x-10*y+3*z-4 = 0, 26*x-15*y+2*z+14 = 0, 22*x-13*y+2*z+10 = 0, 18*x-26*y+17*z-84 = 0, 2*x-6*y+5*z-28 = 0, 38*x-6*y-13*z-16 = 0, 6*x-y-2*z-2 = 0, 18*x-2*y-7*z-16 = 0, 6*x+y-4*z-22 = 0, 6*x+y-4*z-22 = 0, 14*x+11*y-18*z-138 = 0, 2*x+y-2*z-14 = 0, 2*x+y-2*z-14 = 0, 22*x+2*y-13*z+40 = 0, 14*x+3*y-10*z+22 = 0, 2*x-2*y+z+8 = 0, 2*x-5*y+4*z+14 = 0, 2*x+5*y-6*z-6 = 0, 2*x-z+2 = 0, 6*x+y-4*z+8 = 0, 22*x-12*y+z-2 = 0, 8*x-9*y+5*z-10 = 0, y-z+2 = 0, y-z+11 = 0, 2*x-y-9 = 0, 8*x-3*y-z-25 = 0, 34*x-18*y+z-164 = 0, 18*x-10*y+z-92 = 0, 14*x-10*y+3*z-96 = 0, 28*x-17*y+3*z-159 = 0, 8*x-5*y+z-47 = 0, 2*x+3*y-4*z+29 = 0, 4*x-3*y+z-23 = 0, 32*x-15*y-z-103 = 0, 20*x-9*y-z-61 = 0, 10*x-6*y+z-44 = 0, 14*x-10*y+3*z-76 = 0, 2*x-2*y+z-16 = 0, 4*x-3*y+z-23 = 0, 12*x-19*y+13*z-89 = 0, 16*x-19*y+11*z-87 = 0, 20*x-3*y-7*z-73 = 0, 14*x-3*y-4*z-43 = 0, 4*x+3*y-5*z-47 = 0, 16*x-3*y-5*z-53 = 0, 22*x-2*y-9*z-92 = 0, 12*x+5*y-11*z-105 = 0, 16*x+3*y-11*z-107 = 0, 12*x+y-7*z-13 = 0, 6*x+y-4*z-7 = 0, 10*x-14*y+9*z+4 = 0, y-z-7 = 0, 2*x-z-7 = 0, 2*x+9*y-10*z-70 = 0, 18*x+y-10*z-70 = 0, 12*x+11*y-17*z-119 = 0, 2*x+y-2*z-14 = 0, 2*x-4*y+3*z+15 = 0, 4*x+y-3*z-15 = 0, 2*x-11*y+10*z+50 = 0, 14*x+3*y-10*z-50 = 0, 8*x+13*y-17*z-85 = 0, 4*x+13*y-15*z-75 = 0, 2*x+5*y-6*z-30 = 0, 12*x-7*y+z-101 = 0, 2*x-y-15 = 0, 6*x-4*y+z-56 = 0, 6*x-7*y+4*z-47 = 0, 8*x-7*y+3*z-51 = 0, 2*x-4*y+3*z-24 = 0, 6*x+y-4*z-46 = 0, 2*x+3*y-4*z-10 = 0, 2*x-z-16 = 0, y-z+2 = 0, 6*x-2*y-z-52 = 0, 10*x-2*y-3*z-84 = 0, 10*x+y-6*z-78 = 0, 2*x+y-2*z-14 = 0]

Now I want to write the equation of the planes passing two points A and B and perpendicular to all the equations of the above list. I can't to write a proc. With each plane of List, I tried
with(geom3d);
point(A, 1, 5, 3): 
point(B, -2, -4, 3):
with(geom3d): 
Equation(plane(P, L[5], [x, y, z])): 
line(d, [A, B], t):
 n1 := ParallelVector(d):
 n2 := NormalVector(P):
 with(linalg):
 n3 := crossprod(n1, n2):
 k := sort(primpart(lhs(Equation(plane(R, [A, n3], [x, y, z])))));
k*signum(lcoeff(k)) = 0

I got true answer.

This is my code

restart; L := [];
for a from -10 to 10 do
for b from -10 to 10 do
for c from -10 to 10 do
k := (-a*b*c+a*b*z+a*c*y+b*c*x)/igcd(a*b, b*c, c*a, a*b*c); if a*b*c <> 0 then L := [op(L), [[a, 0, 0], [0, b, 0], [0, 0, c]], k*signum(lcoeff(k)) = 0] end if end do end do end do; nops(L); L

I think my code was error, because  a from -10 to 10. 

Let a non-planar non-self-intersecting closed polygon in three dimensions P  be given, say
with(plots): with(plottools):
P := polygon([[0, 1, 1], [1, -1, 2], [3, 0, 5], [1, 1, 1]]):
How to find the minimal surface  with the boundary P?
There is no chance to find the solution as a closed-form expression.
Thus, the numerical solution (or/and a triangulation which approximates the minimal surface up to the given accuracy) is required.


How to produce such a plot with Maple?
enter image description here

The difficulty is that the geom3d package does not include a command for a cylinder whereas
the plottools package has the cylinder command, but does not have a tool to determine whether
two random cylinders intersect.

Dear Maple users

I am delighted that Maple has builtin commands to plot so many polyhedrons in 3D. Here I am talking about the polyhedraplot command in the plots package. I was however disappointed that the socalled Truncated Icosahedron is not supported (not present in the supported list ...). My first question is:

1. Why isn't it supported?

It seems more relevant than many of the other polyhedrons which are supported. It is a member of the Archimedian Solids (see https://en.wikipedia.org/wiki/Truncated_icosahedron). Besides it is the basic structure for soccer footballs. I found out that a TruncatedIcosahedron command is available in the geom3d package. This command is able to deliver data for the faces and more. With this command I succeded in writing a small program to actually plot this polyhedron in 3D:

-----------------------------------------------------

restart;
with(geom3d):
with(plots):
TruncatedIcosahedron(football,point(C,(0,0,0)),1):

PlotFootball:=proc(tr::float)
    
    local i::integer,
         FootballFace::Vector(datatype=float[8]),
         plotFace::Vector(datatype=float[8]);    
    
    for i from 1 to 32 do
        FootballFace[i]:=faces(football)[i];
        plotFace[i]:=polygonplot3d(Matrix(FootballFace[i]),axes=none,scaling=constrained,transparency=tr);
    end do;
    
    display(seq(plotFace[i],i=1..32)):
    
end proc:

PlotFootball(0.00);

-----------------------------------------------------

Since I am not really experienced in programming in Maple, here is my last question:

2. Can I simplify something in my code above?

 

Best wishes,

Erik

 

I don't think the geom3d package can be used symbolically it needs specific values.  Maybe I'm wrong, am I?

I want to write the equation of the plane which equidistant the two the planes P and Q. This is my code

restart:

with(geom3d):

plane(P,2*x+3*y-6*z+1=0,[x,y,z]):

plane(Q,x -4*y-8*z+1=0,[x,y,z]):

point(M,x,y,z):

E:=distance(M,P)- distance(M,Q);

simplify(%);

but, i can simplify(E). Please help me.

In geom3d, i have equation a plane. Now i want to get two points A and B in the plane P and write the equation of the line which passing two point A, B. 

restart:
with(geom3d):
plane(P, 2*x + 2*y -z + 4=0,[x,y,z]):
f := (a,b,c) -> eval(lhs(Equation(P)), [x=a,y=b,z=c]): 
T:=f(-1,2, a):
eq:=solve(T=0,a): coordinates(point(A,-1,2,eq)):

In geom3d, how i can subs coordinates of a point M(t+1, t - 2, t+ 3) into equation of a plane (P) has equation x + 2*y -3*z + 1 = 0? Please help me.

Problem. In the plane 2*x -3*y +3*z -17 = 0, find a point M such that the sum of its distances from the poits A(3, -4, 7) and B(-5, -14, 17) will have the least value.

First way.

restart:with(geom3d):

point(A,3,-4,7):

point(B,-5,-14,17):

plane(P,2*x - 3*y +3*z -17=0,[x,y,z]):

reflection(Q,A,P):

line(BQ,[B,Q]):

Problem. write the equation of the line cut the two lines d1: x = 2*t, y= -t+1, z = t-2, d2: x = -1+2*m, y = 1+m, z = 3 and perpendicular to the plane 7*x+y-4*z=0. 

This is my code. 

> restart;with(geom3d):

with(LinearAlgebra):

a:=[2*t,-t+1,t-2]:

b:=[-1+2*m,1+m,3]:

line(d1,a,t):

line(d2,b,m):

I want to put vector n = (a, b, c) as normal vector of plane with assume a^2 + b^2 + c^2 > 0. For example

with(geom3d):assume(a^2 + b^2 + c^2>0):

plane(P,a*(x-1) + b*(y+2) + c*(z-3)=0,[x,y,z]);

But, i got: "Error, (in geom3d:-plane) unable to define the plane"
Plese help me. How can i put vector n = (a, b, c) as normal vector of plane?
Thank you very much.

Write the equation of the sphere has its centre at C(1, 2, 3) and cut the  straight line

Delta: x = t+1, y = t-1, z = -t at the points A and B so that the triangle ABC is a equilateral triangle.

This is my code.

1 2 Page 1 of 2