multi solve

This commit is contained in:
Val Erastov 2014-09-25 01:51:04 -07:00
parent cf891ba43e
commit 57f9fcdf9b
2 changed files with 5 additions and 5 deletions

View file

@ -175,7 +175,7 @@ public class App2DCtrl implements Initializable {
}; };
List<Constraint> constrs = Arrays.<Constraint>asList(parallel); List<Constraint> constrs = Arrays.<Constraint>asList(p2l2, parallel, perpendicular, p2l1);
// List<Constraint> constrs = Arrays.<Constraint>asList(p2l1); // List<Constraint> constrs = Arrays.<Constraint>asList(p2l1);
Solver.SubSystem subSystem = new Solver.SubSystem(constrs); Solver.SubSystem subSystem = new Solver.SubSystem(constrs);
// Solver.optimize(subSystem); // Solver.optimize(subSystem);
@ -186,8 +186,8 @@ public class App2DCtrl implements Initializable {
globalSolve(subSystem, () -> Platform.runLater(update)); globalSolve(subSystem, () -> Platform.runLater(update));
if (true) return; if (true) return;
while (subSystem.error() > 0.0001) { while (subSystem.error() > 0.0001) {
Solver.solve_LM(subSystem); // Solver.solve_LM(subSystem);
// solveLM_COMMONS(subSystem); solveLM_COMMONS(subSystem);
// Solver.solve_DL(subSystem); // Solver.solve_DL(subSystem);
// Solver.solve_BFGS(subSystem, true); // Solver.solve_BFGS(subSystem, true);
Platform.runLater(update); Platform.runLater(update);

View file

@ -113,7 +113,7 @@ public class P2LDistance implements Constraint {
} }
public void gradient(double[] out) { public void gradient2(double[] out) {
double x0 = p0x(), x1 = p1x(), x2 = p2x(); double x0 = p0x(), x1 = p1x(), x2 = p2x();
double y0 = p0y(), y1 = p1y(), y2 = p2y(); double y0 = p0y(), y1 = p1y(), y2 = p2y();
double dx = x2 - x1; double dx = x2 - x1;
@ -157,7 +157,7 @@ public class P2LDistance implements Constraint {
return a*a; return a*a;
} }
public void gradient2(double[] out) { public void gradient(double[] out) {
double x0 = p0x(), x1 = p1x(), x2 = p2x(); double x0 = p0x(), x1 = p1x(), x2 = p2x();
double y0 = p0y(), y1 = p1y(), y2 = p2y(); double y0 = p0y(), y1 = p1y(), y2 = p2y();
double dx = x2 - x1; double dx = x2 - x1;