Jump to content

  • Log In with Google      Sign In   
  • Create Account

least square conformal map


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
No replies to this topic

#1 Артем Шубович   Members   -  Reputation: 100

Like
0Likes
Like

Posted 20 January 2012 - 06:06 AM

I'm trying to implement LSCM algorithm. And i really stuck understanding it when reached "charts growth" section.

I've found this comment within Galaxy 3/4 engine sources:

The original LSCM algorithm for growing charts :

-----------------------

EdgeHeap : heap of directed edges (with associated face F(edge))
    sorted by dist(F(edge)) (dist is distance to feature)

mark all edges as "chart boundaries"
track is_boundary(edge)

track chart(face) , tells you which chart a face is in

EdgeHeap contains all edge to consider growing a chart from
start with EdgeHeap clear

Seed charts :
{
    chart[i] = seed face
    push edges of seed face to EdgeHeap
}
// each connected area must have at least one seed
// each connected area that is not a disk must have at least *two* seeds

// grow charts :
while EdgeHeap not empty :
{
    edge = EdgeHeap.pop
    // assert is_boundary(edge)
    face = F(edge) // is the face to consider adding
    prev = F(edge flipped) // is the face growing off of
    // assert chart(prev) != none

    if ( chart(face) = none )
    {
        add face to chart(prev)
        set is_boundary(edge) = false
        consider edges of "face" and "prev" ; any edge which is not connected to two other
            is_boundary() edges, mark as not being is_boundary() either
        push edges of face to EdgeHeap (if they are is_boundary() true)
    }
    else if ( chart(face) != chart(prev) )
    {
        // consider merging the charts
        
    }
}

It's totally dark for me. In the original algorithm, author uses "facet" terminus and "distance from half-edge to facet" but again, i can not imagine what is that "facet" and how can i find the distance from my half-edge to it.

Could anyone help me understanding that stuff? I just need to un-chart my entire mesh and then perform some algebra. I understood that algebra mostly, but i stuck a bit earlier i hoped Posted Image

PS: i've got some sources on Github detecting and growing features.

Sponsor:



Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS