这里是新手,所以请温柔。我正在使用网格,并且我有一组不可变列表(元组),其中包含原始输入网格的属性。这些列表以及原始网格被用作组织指南,以密切关注新创建的子网格;即由于子网格引用原始网格,其属性(列表)可用于在子网格之间引用,或创建子网格的子网格。下面列出了其中一些列表的结构:
vertices = [ (coordinate of vertex 1), ... ]
faceNormals = [ (components of normal of face 1), ...]
faceCenters = [ (coordinates of barycenter of face 1), ...]
由于我不熟悉 oop,因此我将脚本组织如下:
def main():
meshAttributes = GetMeshAttributes()
KMeans(meshAttributes, number_submeshes, number_cycles)
def GetMeshAttributes()
def Kmeans():
func1
func2
...
def func1()
def func2()
...
main()
问题是,在 KMeans 中的每个函数上,我都必须将网格的一些属性作为参数传递,而且我不能默认它们,因为它们在脚本开头是未知的。例如,在 Kmeans 中有一个名为 CreateSeeds 的函数:
def CreateSeeds(mesh, number_submeshes, faceCount, vertices, faceVertexIndexes):
最后三个参数是静态的,但我不能这样做:
CreateSeeds(mesh, number_submeshes)
因为我必须放在faceCount, vertices, faceVertexIndexes
函数定义中,而这些列表在一开始就很大而且未知。
我尝试过使用类,但在我对它们的了解有限的情况下,我遇到了同样的问题。有人可以给我一些关于在哪里查找解决方案的指示吗?
谢谢!