// the final version of the SuSE 8.0 professional edition title surface // a septic with 16 triple points // surf script written by Stephan endrass // and adapted by Oliver Labs // ----------------------------- // A family of septics with // 16 triple points // commited by Stephan Endrass // ----------------------------- int fac=300; width=fac; height=fac; antialiasing=6; rot_x=1.79; rot_y=1.5; rot_z=1.5; illumination = ambient_light + diffuse_light + reflected_light + transmitted_light; ambient = 30; diffuse = 80; reflected = 80; transmitted = 20; smoothness = 50; transparence = 0; thickness = 10; background_red=255; background_green=255; background_blue=255; surface_red=82; surface_green=193; surface_blue=71; inside_red=112; inside_green=203; inside_blue=101; // Coordinates polyxyz xx=z-1+sqrt(2)*x; polyxyz yy=z-1-sqrt(2)*x; polyxyz zz=-(z+1+sqrt(2)*y); polyxyz ww=-(z+1-sqrt(2)*y); // Symmetric polynomials polyxyz s1=xx +yy +zz +ww; polyxyz s2=xx^2+yy^2+zz^2+ww^2; polyxyz s3=xx^3+yy^3+zz^3+ww^3; polyxyz s4=xx^4+yy^4+zz^4+ww^4; // Parameters // Singularities (0:0:-1:nu), (0:0:0:1) double sf=0.4; scale_x=sf; scale_y=sf; scale_z=sf; double nu; double a1; double a2; double a3; double a4; double a5; double a6; double a7; double a8; double a9; double a10; double a11; a1 = 2*nu^4+3*nu^3+15*nu^2+7*nu+9; a2 = -39*nu^3-27*nu^2-63*nu+21; a3 = -2*(nu-1)*(11*nu^3-13*nu^2+11*nu-45); a4 = 6*(4*nu^2+3*nu+11)*(nu-1)^2; a5 = -6*nu^4+75*nu^3+27*nu^2+51*nu-39; a6 = 12*(nu-1)*(3*nu^3-5*nu^2-5*nu-5); a7 = -9*(nu+1)*(3*nu^2-1); a8 = -18*(nu+1)*(nu-1)^2*(2*nu+1); a9 = -16*nu*(nu-1)^3; a10 = 6*(nu^2+4*nu+1)*(nu+1)*(nu-1); a11 = 12*(nu+1)*(nu-1)^3; // The surface polyxyz f=a1 *s1^7+ a2 *s1^5*s2+ a3 *s1^4*s3+ a4 *s1^3*s4+ a5 *s1^3*s2^2+ a6 *s1^2*s2*s3+ a7 *s1*s2^3+ a8 *s1*s2*s4+ a9 *s1*s3^2+ a10*s2^2*s3+ a11*s3*s4; surface=f; draw_surface; //filename="pro_80.ras"; //color_file_format=sun; filename="pro_80.jpg"; color_file_format=jpg; save_color_image;