22 Commits

Author SHA1 Message Date
Paolo Cignoni cignoni
199680f75d corrected evolution so that it doesn't overshoot. Modified smoothness-viewpoint balance 2010-09-09 23:07:51 +00:00
Paolo Cignoni cignoni
799c21f3b4 Inserted quadric based curvature 2010-09-08 07:48:59 +00:00
Paolo Cignoni cignoni
706bf71e88 pre-conversion to full explicit 2010-09-07 18:08:10 +00:00
Paolo Cignoni cignoni
a4c16fc823 added bi-face initialization, system converges but if you run the sphere.ply up to 200 iterations yet another degenerate triangle is found 2010-09-05 01:13:58 +00:00
Paolo Cignoni cignoni
5b0ed49cf8 updated VASE to compile with new meshlab 2010-09-02 20:11:07 +00:00
Paolo Cignoni cignoni
a4168fa364 finished creating debugging test-case for sliver removal problem. Start plugin on spheres dataset and default parameters for 36/37 iterations 2010-08-06 07:00:43 +00:00
Paolo Cignoni cignoni
5f5194c698 updates requested from paolo 2010-05-22 21:12:16 +00:00
Paolo Cignoni cignoni
a259d96800 edit_vase: added zero edge length assertions
filter_sdf: mysampling=>myrandom and added the "on-steroids" version of the plugin (work in progress)
2010-05-07 04:50:26 +00:00
Paolo Cignoni cignoni
046ef0d85d modified MyVolume::isosurface() to remove sliver triangles, still we have an assert error caused by the FaceProjection + Point2Face... 2010-04-27 12:10:16 +00:00
Paolo Cignoni cignoni
133ea1cfba The sliver triangle remove from plymc is called, but there is something missingsvn status An OCF is not enabled causing a crash... It should have been FF, but even computing FF before the call doens't make a difference 2010-04-27 11:25:20 +00:00
Paolo Cignoni cignoni
b2690f15b4 minor: found the bug with the interpolator crashing. It was caused by sliver tets. The solution is using a sliver-removed used by filter_plymc itself. When importing plymc.h there is a problem caused by the fact that a Volume class is defined already... After this commit, I will do the namechange Volume => MyVolume 2010-04-27 10:44:05 +00:00
Paolo Cignoni cignoni
cef0b212d2 Modified the evolve_balloon so that it considers bi-sided distance.
The evolution seems to work mostly fine now, but there seem to be a problem (NAN on color)
which needs to be debugged. The reasons needs to be investigated..

In Gridaccell I added a method which zeros the correspondence data of the rays, 
so they can be re-computed at the next iteration.

I also added the closest point code to OLD.h
2010-04-26 12:43:44 +00:00
Paolo Cignoni cignoni
5345c48776 Modified grid-accell to keep a set of PokeRays rather than a set of rays.
A PokeRay is nothing else than a ray which is allowed to "poke" only 
one specific face.

I changed the class GridAccell to allow to keep track of pokerays rather
than simple rays and modified "mode == FACEINTERSECTIONS" in Balloon::updateViewField
to use these structures instead. Note that when using this mode you discard rays
which have t<0, so you don't even need to re-specify anything in the accellerator, 
as wahtever will be used by the next mode will be simply discarded...

I also added a new mode (STILL IN DEVELOPMENT) called BIFACEINTERSECTIONS which 
do not only look at the intersections found by a ray in the +side but also 
takes a look behind the scanpoint.
2010-04-26 11:22:40 +00:00
Paolo Cignoni cignoni
1e61af25c6 Smooth-based evolution is also affected by convergence. When we are close to the final solution
the smoothing term is damped by a functional that goes to zero when the distance term is zero.

The gridaccell has also been modified to march rays not only in the direction of the ray itself, 
but also up to an offset in the opposite direction. This can be done by offsetting the starting
point along -r.d by some value. GridAccell::trace_ray( ray, off ).

Note that The vasewidget settings have been changed for this new debugging step!!
2010-04-26 10:18:33 +00:00
Paolo Cignoni cignoni
ea41c7b652 changed the evolution to support both viewdir and curvature at the same time. Gaussian curvature seems to have more stable results, I am going to use that one instead of mean for now 2010-04-26 02:01:19 +00:00
Paolo Cignoni cignoni
991becfbba MILESTONE!
The evolution seems to proceed well!
I tried first a dummy evolution which shrinks the field by .05 at each iteration (check balloon evolve and the if(false) therein.
Then, I corrected the refresh of the data structures for the field update
The simple test contraction works well, I also tried the tests on the sphere dataset using only view direction, as the laplacian complains about marching cube having 
svn commit -m
2010-04-24 13:12:14 +00:00
Paolo Cignoni cignoni
48e85673b3 other meaningless attempts 2010-04-23 01:20:56 +00:00
Paolo Cignoni cignoni
6dcc7961d6 minor: FaceCentroid -> Barycenter 2010-04-22 14:20:20 +00:00
Paolo Cignoni cignoni
14792c0095 laplacian evolution term inserted, corrected bug in corr function, refactored a lot of different things, in balloon.cpp the Evolve function simply tries to compute MC and then invert it with SEDF, butthere is some problem in there... 2010-04-20 10:43:51 +00:00
Paolo Cignoni cignoni
3b9a23988a balloon evolution is working, but need to add controls to stop over-contraction and laplacian smoothing. Updated VCGLib and now doesn't compile anymore 2010-04-19 04:47:12 +00:00
Paolo Cignoni cignoni
c7ae373d75 corrected bugs in the correspondence, corrected bug in the heap preventing correct update of pre-existing entry, corrected bug in face2point giving signed distance only in 1 of the 2 sub-cases 2010-04-18 19:09:18 +00:00
Paolo Cignoni cignoni
6edbf64209 edit_vase plugin created. compiles under OSX with Eigen3 (devel branch) and SuiteSparse installed with fink 32bit compiled from source libraries. Ray marhing, isosurfacing, smooth laplacian field interpolator working. Currently implementing the structure for balloon evolution. 2010-04-15 23:07:10 +00:00