[tuhopuu-devel] /* A (half baked) attempt at a Relax UV tool.

Brecht Van Lommel tuhopuu-devel@blender.org
27 Feb 2004 23:34:09 +0000


Hi Bjornmose, all,

Okay, to avoid any confusion, here's what happened. The first thing I
tried to code for Blender (before Heal UV), was a Relax UV function. I
hadn't read any paper about parametrization at that time. So I just
tried something. I didn't really work out (as could be expected). So I
had this lying around here for some time, and I decided to merge it into
the sources, so maybe someone might find it useful. It actually does
work for some simple meshes, like a grid with proportional editing or a
wave effect applied to it. Also, if you unwrap a face with multiple
"From Window"'s, you can get the outer UV nodes relaxed most of the
time. Unwrapping a hand in two pieces with "From Window", and then
applying relax works here too pretty well.

So I'm not going to try to improve it anymore, basically I wanted to get
this out of the starting to work on any serious algorithms.

Time for some links of the day :):

http://www.loria.fr/~levy/erratum.html
http://www.cse.wustl.edu/~cmg/Manifolds/manifold.html
http://www.cse.wustl.edu/~cmg/Manifolds/ShefferFlatten.html
http://www.cs.ubc.ca/~sheffa/dgp/sylabus.html

You possibly found them already, but anyway.

Almost all approaches deal with constrained or unconstrained
minimization problems, so I'm kind of starting to get the picture now. I
think I've got ABF figured out, LSCM is a quite bit harder. These two
seem to be the only suited unfolding techniques, as others are or not
good enough, or have too many restrictions.

Now, if we want to start coding on this in the very near future, we have
to chose an algorithm. The problem is that we don't have an ABF
implementation, and that it will soon be obsoleted by ABF++, so I'm not
sure if we should attempt coding that. Personally I'd go for LSCM now,
and look at ABF++ when it's out. The fact that we have an example
implementation of LSCM (which is coded really cleanly) should help us
understand the problem better. It might not be as good as ABF
quality-wise, but it works very good too.

Personally I find implementing LSCM unfolding the most important thing
right now, so that's what I would like to work on first. What do you
think we should do?

Cheers,
Brecht

On Fri, 2004-02-27 at 20:46, Bjornmose wrote:
> Hi Blendix and all
> 
> was looking at your relaxing approach
> if i did understand it correctly, it is attempting get the objective
> function
> sum_over_ all_ faces (| dist(UVnodes)-dist(Meah_vertices)|) to zero.
> this is mathematicaly prooven impossible if the mesh is not already
> flat. ( think of a tetraeder )
> So best you can hope for is get stuck in some local minimum of the
> objective function.
> The visible result i'd expect is some more or less relaxed domians
> surrounded by wildy flipped seams.
> 
> This is why all the papers handle a minimization task. (did a little
> homework on the papers)
> e.g.
> Angle based flattening : sum (|angles(uv)-angles(faces)|) = min with
> additional flattness constraint
> which has a unique global minimum in the angles space, yet leaving a
> linear degree of freedom.
> 
> the least sqaure conform mapping algo
> states an square objective function avioding the scaling (linear
> problem)
> i am working an a geometric interpretation. sigh... says i have an idea
> how it works, but did not understand completly.
> they say the redefine the optimization with consrtaints to a nonlinear
> problem without and i don't get the leap yet.
> hmm.. i'v got a masters degree in physics some years ago. may be i
> should give it back.
> 
> your realxing framework is in a mathematical sense aequivalent to the
> proposal in the papers solving sparse matrix equations and i think it is
> a good start.
> hmm.. may be not that efficient though.
> just a hint : use synchronus dynamics = do not alter the input values in
> the loop.
> says newvalues = function(oldvalues) and not newvalues=function(mix of
> new and old values depending on alredy calculated)
> 
> hope to come up with some new ideas soon
> 
> ole (bjornmose)
> 
> 
> 
> _______________________________________________
> tuhopuu-devel mailing list
> tuhopuu-devel@blender.org
> http://www.blender.org/mailman/listinfo/tuhopuu-devel
> 
>