- Vec v;
- /*
- Matrix inv = p.errorQuadric();
- v = new Vec(inv.d, inv.h, inv.l).norm().times(1/(float)300);
- if (p.quadric_count == 0) {
- v = goal.nearest(p.p).p.minus(p.p).norm().times(1/(float)300);
- }
- */
- Vec v2 = new Vec((random.nextFloat() - (float)0.5) / 500,
- (random.nextFloat() - (float)0.5) / 500,
- (random.nextFloat() - (float)0.5) / 500);
- //v = v.plus(v2.norm().times(1/(float)300));
- v = v2.norm().times(1/(float)300);
+ float max = p.averageEdgeLength()/10;
+ Vec v = new Vec(random.nextFloat(), random.nextFloat(), random.nextFloat());
+ v = v.norm().times((random.nextFloat() - 0.5f) * max);
+ //System.out.println(max + " " + p.averageEdgeLength() + " " + v.mag());
+ Matrix m = Matrix.translate(v);