O16-C043 > restart; > with(linalg): Warning, new definition for norm Warning, new definition for trace > a:=matrix(3,3,[1,0,-1,0,1,-1,-1,-1,1]); [ 1 0 -1] [ ] a := [ 0 1 -1] [ ] [-1 -1 1] > eigenvects(a);# C'est un hyperboloïde à une nappe [1 + sqrt(2), 1, {[1, 1, -sqrt(2)]}], [1 - sqrt(2), 1, {[1, 1, sqrt(2)]}], [1, 1, {[-1, 1, 0]}] > with(plots); [animate, animate3d, animatecurve, changecoords, complexplot, complexplot3d, conformal, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, display3d, fieldplot, fieldplot3d, gradplot, gradplot3d, implicitplot, implicitplot3d, inequal, listcontplot, listcontplot3d, listdensityplot, listplot, listplot3d, loglogplot, logplot, matrixplot, odeplot, pareto, pointplot, pointplot3d, polarplot, polygonplot, polygonplot3d, polyhedra_supported, polyhedraplot, replot, rootlocus, semilogplot, setoptions, setoptions3d, spacecurve, sparsematrixplot, sphereplot, surfdata, textplot, textplot3d, tubeplot] > v:=matrix(3,1,[x,y,z]); [x] [ ] v := [y] [ ] [z] > surf:=evalm(transpose(v)&*a&*v)[1,1]-1; surf := (x - z) x + (y - z) y + (-x - y + z) z - 1 > implicitplod3d(surf,x=-3..3,y=-3..3,z=-3..3); implicitplod3d((x - z) x + (y - z) y + (-x - y + z) z - 1, x = -3 .. 3, y = -3 .. 3, z = -3 .. 3) > d1:=implicitplot3d( surf,x=-2..2,y=-2..2, > z=-2..2,grid=[13,13,13]): > g:=vector([diff(surf,x),diff(surf,y),diff(surf,z)]);h:=vector([x,y,z-1]); g := [2 x - 2 z, 2 y - 2 z, -2 x - 2 y + 2 z] h := [x, y, z - 1] > eq2:=dotprod(g,h,orthogonal); eq2 := (2 x - 2 z) x + (2 y - 2 z) y + (-2 x - 2 y + 2 z) (z - 1) > solve({surf,eq2},{x,y});# Réunion de 2 droites {x = z - 1, y = 0}, {y = z - 1, x = 0} > d2:=spacecurve({[z-1,0,z],[0,z-1,z]},z=-2..2): > display({d1,d2}); >