X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2FMain.java;h=f0671584f6ddd2a1d653bf5be3a3b639cfd31c7b;hb=e9681998186aae90379775e798e49d85d203b28e;hp=0246692022dbb42ad6c479dbf69b7e720aeed264;hpb=0f91cadcd5a273c8c312c1d054fe9de1a82ebf8e;p=anneal.git diff --git a/src/edu/berkeley/qfat/Main.java b/src/edu/berkeley/qfat/Main.java index 0246692..f067158 100644 --- a/src/edu/berkeley/qfat/Main.java +++ b/src/edu/berkeley/qfat/Main.java @@ -162,7 +162,7 @@ public class Main extends MeshViewer { //tx.e3.shatter(); - tile.bind(); + tile.rebindPoints(); //mid.move(new Vec((float)0,0,(float)-0.05)); //ltn.move(new Vec((float)0,0,(float)-0.05)); @@ -178,7 +178,7 @@ public class Main extends MeshViewer { } public synchronized void breakit() { - if (verts > 200) return; + if (verts > 50) return; PriorityQueue es = new PriorityQueue(); for(Mesh.E e : tile.edges()) es.add(e); for(int i=0; i<10; i++) { @@ -186,8 +186,7 @@ public class Main extends MeshViewer { verts++; System.out.println("shatter " + e); e.shatter(); - tile.unbind(); - tile.bind(); + tile.rebindPoints(); } } @@ -226,20 +225,19 @@ public class Main extends MeshViewer { public void anneal() throws Exception { int verts = 0; while(true) { - for(int i=0; i<1; i++) { + HashSet hs = new HashSet(); + for(Mesh.Vert p : tile.vertices()) hs.add(p); + for(int i=0; i<10; i++) { repaint(); - for(Mesh.T t : tile) - for(Mesh.Vert p : new Mesh.Vert[] { t.v1(), t.v2(), t.v3() }) { - rand(10,p); - } - goal.unscore(); - tile.unscore(); - goal.fundamental(); - tile.fundamental(); - goal.rescore(); - tile.rescore(); + for(Mesh.Vert v : hs) rand(10,v); } breakit(); + repaint(); + goal.unscoreAll(); + repaint(); + tile.recomputeAllFundamentalQuadrics(); + repaint(); + goal.rescoreAll(); } }