按照代码here,可以将粒度vtkPolyData传递给Python语言中的k3d。然而,我现在给k3d赋值的颜色是这样的;
def rgb2hex(r,g,b):
return eval("0x{:02x}{:02x}{:02x}".format(r,g,b))
#using the actors from [referenced code][1] to get the granular actors from .OBJ
col = actor.GetProperty().GetDiffuseColor()
rgb2hex(int(col[0]*255),int(col[1]*255),int(col[2]*255))这是丑陋和低效的。vtkPolyDataMapper应该已经在处理颜色了,所以一定有一种更直接的方式来处理颜色。如何使用颜色来获得一个颜色列表,并通过管道传递给k3d.vtk_poly_data() vtkPolyDataMapper参数?
mapper = actor.GetMapper()
mapper.SetInputData(vtkPolyData)发布于 2020-09-22 16:15:50
VTK本身并不为颜色提供这种格式化(0xrrggbb)。你总是需要处理3个分量的浮点数或整数。
https://stackoverflow.com/questions/63829025
复制相似问题