#################################################################### # # The copyright to this file, and the images it draws are owned by # Frank Sottile. We allow the free use of this, but you must first # ask permission of either Frank Sottile or Adriana Ortiz, and # acknowledge our creation of these images. # #################################################################### interface(quiet=true): with(plots): plotsetup(x11,plotoptions=`width=6in,height=6in`): POLYS:=[ 99-48*y-60*y^2+95*y^3-25*y^4-57*y^5-101*x+21*x*y-18*x*y^2-22*x*y^3-50*x*y^4+76*x^2-79*x^2*y+50*x^2*y^2+21*x^2*y^3+88*x^3-9*x^3*y+87*x^3*y^2-5*x^4+35*x^4*y-56*x^5 ,-34+27*y+12*y^2+96*y^3-82*y^4-64*y^5-72*x-50*x*y-15*x*y^2+20*x*y^3+2*x*y^4+74*x^2+42*x^2*y-16*x^2*y^2+5*x^2*y^3-62*x^3-20*x^3*y-51*x^3*y^2-97*x^4+87*x^4*y+90*x^5 ]: Lims:=[[[-2.4,1.5,-2.1,1.5],[-11,11,-9,30]] ,[[-2,1.2,-1.6,1.3],[-8,22,-19,11]] ]: i:=1: f:=POLYS[i]: x0:=Lims[i][1][1]:x1:=Lims[i][1][2]: y0:=Lims[i][1][3]:y1:=Lims[i][1][4]: X0:=Lims[i][2][1]:X1:=Lims[i][2][2]: Y0:=Lims[i][2][3]:Y1:=Lims[i][2][4]: H:=linalg[det](linalg[hessian](f,[x,y])): A:=implicitplot(H,x=(x0)..(x1),y=(y0)..(y1),grid=[500,500],axes=none,color=red):#,thickness=2): B:=implicitplot(H,x=(X0)..(X1),y=(Y0)..(Y1),grid=[500,500],axes=none,color=red):#,thickness=2): C:=[plot([x0,t,t=y0..y1],color=black),plot([x1,t,t=y0..y1],color=black), plot([t,y0,t=x0..x1],color=black),plot([t,y1,t=x0..x1],color=black)]: plotsetup(gif,plotoutput="Small.gif",plotoptions=`height=500,width=500`): #plotsetup(ps,plotoutput=`Small.eps`, # plotoptions=`color,portrait,noborder,width=2in,height=2in`): display(A,C,view=[(x0)..(x1),(y0)..(y1)],scaling=CONSTRAINED); plotsetup(gif,plotoutput="Large.gif",plotoptions=`height=500,width=500`): #plotsetup(ps,plotoutput=`Large.eps`, # plotoptions=`color,portrait,noborder,width=2in,height=2in`): display(B,C,view=[(X0)..(X1),(Y0)..(Y1)],scaling=CONSTRAINED); time();