Jump to content

Exponential map algorithm gives bug in case of sphere, need solution to fix issue


Recommended Posts

I am trying to decal sketch on mesh using exponential map. While generating exponential map, I am calculating plane by initial point on mesh and normal calculated on mesh by that point. then algorithm calculates nearest vertices from that point and traverse to them by edges.

Then Edges are projected on plan with their original lengths. It works in most cases, But there is problems in case of sphere. the map is getting twisted.

Do I need to do anything different for the spheres? Any ideas on how this issue can be resolved? Or has anybody done something similar using a different algorithm for exponential map?

I have created below code

while (i m_iExpPos = i; if (pVertex->m_iNeighbour > -1) { CVector vecPoint = pVertex->toVector() - pVertex->Neighbour()->toVector(); double len = vecPoint.norm(); CVector tmp = (pVertex->Neighbour()->normal() * -1) * vecPoint; vec = tmp * sketch.m_meshNorm; vec.unitize(); vec = vec * len; double u = vec.dot(sketch.m_meshX); pVertex->m_u = u + pVertex->Neighbour()->m_u; double v = vec.dot(yDir); pVertex->m_v = v + pVertex->Neighbour()->m_v; } else { vec = pVertex->toVector() - pnt; pVertex->m_u = vec.dot(sketch.m_meshX); pVertex->m_v = vec.dot(yDir); pVertex->m_Propogation = vec; } AddAdjacentUnvisitedVertices(pVertex, lstVerts); } pnt is one point where exponential map will start. Initially, lstVerts will contain vertices near to pnt. Gradually it will add adjacent vertices.

I think problem is algo uses edge length as it is in exponential map. I think it need to be adjusted. I don't know how?

To know about Exponential Map and Algorithm that i have used, please refer below links



Edited by Kalpesh30
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...