// Author: Ika, Date: 08/04/2015 -->// The following code can be used to generate the SVG image of ordinals \omega^2.// Anyone can copy and revise this code without any copyright concern.importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.FileWriter;importjava.io.PrintWriter;publicclassOrdinal{publicstaticvoidmain(String[]args){try{Fileoutput=newFile("ordinal_ww.svg");FileWriterfw=newFileWriter(output);PrintWriterpw=newPrintWriter(fw);pw.println("<?xml version=\"1.0\" standalone=\"no\"?>");pw.println("<!-- Author: Ika, Date: 08/04/2015 -->");pw.println("<!-- Anyone can copy and revise this code without any copyright concern. -->");pw.println("<svg width=\"512\" height=\"384\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">");pw.println("\n\t<g style=\"stroke:black; stroke-width:1\" >");// Draw the vertical lines...doublemagic_frac=0.875;// the length ratio between each pair of segmentsdoublemin_l=0.1;// the least length of each segmentdoublex=1.0,y=0.0,l=384.0;doubleL=l;// restored length after each loopdo{do{pw.println("\t\t<path d=\"m"+x+" "+y+" v"+l+"\" />");x+=l*(1-magic_frac)/6;y+=l*(1-magic_frac)/2;l*=magic_frac;}while(l>min_l);l=L*=magic_frac;y=(384-l)/2;}while(L>min_l);pw.println("\t</g>");pw.println("\n</svg>");fw.close();}catch(Exceptione){}}}