• Advertisement
Sign in to follow this  

least square conformal map

This topic is 2192 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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:

[CODE]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 [img]http://public.gamedev.net//public/style_emoticons/default/tongue.png[/img]

PS: i've got some [url="https://github.com/shybovycha/irrPaint3D"]sources on Github[/url] detecting and growing features.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement