views:

52

answers:

1

I have a very complex 3d surface I need to apply a 2d mesh to. What I need is something like the Solidworks Wrap tool : http://www.rickyjordan.com/2009/01/the-solidworks-secret-weapon-the-wrap-tool.html

Due to the complexity of the 3d surface normal texture UV unwrapping won't work. For instance, if I want to map a O and the 3d surface has a bulge where the middle of the O should be, the O should flow around the bulge. However mapping a E to the same surface should cause the middle line on the E to flow up and over the bulge.

Any ideas of any other programs/algorithms that provide this support?

A: 

If you can render your 2D stuff to a texture, you could use projective texture mapping.

genpfault
Unfortunately, that won't work. Consider this case: Let's say I have a plane with a post sticking out of the top. Using projective texture mapping to map a E on top of this would result in the middle line of the E bing stretched along the sides of the post, distorting the original image. In the end I need the surface area of all polygons to be the same before and after the mapping.
Timothy Baldridge
@Timothy: How does SolidWorks solve that issue, in that case? I can't see any extreme example screenshots aside from a cylinder projection-like wrap.
Xavier Ho
actually, after further research, it doesn't. It can only map the 3d mesh to planar surfaces, or a single curve patch.
Timothy Baldridge
@Timothy: Then your problem domain is reduced greatly! Look at UV-space projection and NURBS coordinates, and I'm sure you'll get there.
Xavier Ho
Well that's the issue....I think I mis-spoke. It's Solidworks can't perform this operation, but I need to in my custom code. I need to be able to map the 2d mesh to a non-coplanar 3d mesh. To be honest I've searched and searched, and haven't found an answer to this problem.
Timothy Baldridge