Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Calculating planar UV coordinates for arbitrary meshes

Tags:

3d

uv-mapping

I have code that generates triangle mesh from 2d shapes. Because those shapes in most cases have uneven vertex distribution on the surface I have an issue with generation of UVs so that it wouldn't cause texture distortion. Anybody can suggest some articles, books, code samples that talk about techniques of UV calculation on planar meshes? Thanks

like image 772
Michael IV Avatar asked Jan 22 '12 12:01

Michael IV


1 Answers

ok lets see if I understood your question.

  • You have a planar mesh with vertices (x_i,y_i,z_i), since the mesh is planar you can find a rotation which leads to coordinates with z_i = 0
  • So I'll assume that your mesh is also 2D with vertices (x_i,y_i)
  • Second, you have a mapping of two uv-coordinates to points in the plane into which you mesh is embedded.
  • Lets assume you have a mapping for uv-coords (0,0) and (1,1) i.e. (0,0) -> (x_0, y_0) and (1,1) -> (x_1, y_1)
  • you can then translate all your vertices by -1*(x_0, y_0), then (0,0) maps to (0,0) on the meshes coord system and (1,1) maps to a new coord (x_1', y_1')

  • So for any vertex in your mesh with new coords (x_i', y_i') the corresponding uv-coordinate is: (x_i' / x_1', y_i' / y_1')

Hope that helps.

like image 74
D-rk Avatar answered Sep 18 '22 15:09

D-rk