/* bqe signifie 'bivariate quartic equation, c'est à la fois : - un type dont la structure est : coordsys coordsys real[] a avec a tableau des 6 coefficients tels que : a[0]x^2+a[1]xy+a[2]y^2+a[3]x+a[4]y+a[0]=0 - une fonction décrite dans l'exemple précédent. */ // import geometry_dev; // extension devenue l'extension geometry officielle import geometry; // le 12/05/09, dans la version 1.71 d'asymptote. :-)) size(7.5cm,0); show(currentcoordsys,dotpen=invisible); point pA=(4,0), pB=(0,2), pC=(-4,0), pD=(0,-2), pE=(3,1); dot(pA^^pB^^pC^^pD^^pE); conic c = conic(pA,pB,pC,pD,pE); draw(c,.8bp+.8green); // equation(explicit conic co) // est une fonction qui retourne l'équation d'une conique. // sous la forme d'un objet bqe (repère + tableau des coefficients) bqe eq = equation(c); string[] b={"$x^2+$","$xy+$","$y^2+$","$x+$","$y+$","=0"}; string equ="L'\'equation de la conique est :\par"; for(int k=0; k<6; ++k) equ += format("(%.3f)",eq.a[k])+b[k]; equ += "\par (coefficients \'eventuellement arrondis)"; label(minipage(equ,width=250),(0,4)); // string conictype(bqe bqe) // est une fonction qui retourne le type d'une conique. label("La conique est de type : "+conictype(eq),(.5,-1));