import java.io.*; import java.util.*; public class OntoData{ double[][] data; double[][] coordinates; final int dimcount=2; final double maxcoord=100; double[] perspective; String[] parameters; String[] names; public static void main(String[] arg){ OntoData m=new OntoData(); // m.readDataFromFile("Creatures2.txt"); m.readDataFromFile("aj.txt"); m.normalizeData(); // m.perspective=new double[]{0, 0, 1, 0,0, 0, 0, 0}; m.randomCoordinates(); // m.position(0); m.writeDataToFile("test1.txt"); m.writeCoordinatesToFile("con"); } String getDataAsText(){ StringBuffer sb=new StringBuffer(); for(int i=0; i0){ Vector row=new Vector(); StringTokenizer stk2=new StringTokenizer(s, " \t,"); while(stk2.hasMoreTokens()){ String s2=stk2.nextToken(); row.add(s2); } rows.add(row); } } if(rows.size()==0){ parameters=new String[0]; names=new String[0]; data=new double[0][0]; return; } Vector v0=(Vector)rows.get(0); if(v0.size()<2){throw new RuntimeException("invalid data");} boolean parametersExists=false; try{ Double.parseDouble((String)v0.get(1)); }catch(Exception ex){ parametersExists=true; } if(parametersExists){ parameters=new String[v0.size()]; for(int i=0; imax){max=data[j][i];} } if(max>1){ for(int j=0; jmax){max=data[j][i];} if(data[j][i]max){max=coordinates[j][i]; } } double koef=2*maxcoord/(max-min); double centre=(max+min)/2; for(int j=0; j100){delta=100;} double[] newloc=approach(a, b, delta*step); for(int i=0; i