View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# 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.

No replies to this topic

### #1Артем Шубович  Members

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

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 )
{
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

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

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.