假设我们有一个没有法线和纹理坐标信息的三角形网格。(基本上是一个只包含顶点和面元素的OBJ文件)。
它的目标是使用Opengl和C编写的程序显示一些像样的东西。计算每个三角形的法线很容易…
但是纹理映射呢?有人能推荐一个简单的算法/文档/资源来将图像的标准化UV坐标映射到三角形的通用网格吗?
(For a mesh with a single triangle it is easy, ex: [0][0], [1][0], [0][1])
结果不一定是完美的,即使是专业软件,如果没有UV解包和UV接缝,也不能做到这一点。
我创建了一个矩阵A,其方式如下:
A = [X; Y; D]
X、Y和D是表示X、Y、Z坐标集的1 X 93列表,我想在这些坐标上执行k-方法。
我想在6个分区上进行集群,但是当调用k-方法时,如下所示:
kmeans(A,6)
我知道错误:
Error using kmeans (line 262)
X must have more rows than the number of clusters.
为什么会出现此错误?如果我正在处理在三维矩阵上执行k-均值的问题,那么另一种处理它的方法是什么?
注意事项__:在3个分区上集群将工作--任何更高的分区都不能工作
假设我们已经为网格顶点分配了UV坐标,纹理烘焙是如何实现的?
我想会是这样的:
for each coordinate (u, v) in parameter space:
(x, y, z) = inverse(u, v) # Get the geometric space coordinate.
f = faces(x, y, z) # Get the corresponding face. We may need face's normal for rendering.
pixels[u, v] = render(x, y, z, f)
inverse函数