2012-10-27 32 views
-1

什么样的参数,我需要发送此功能,为它工作,我是有点小白什么样的参数,我需要发送此功能为它工作

def TransformSmoothParameters(vPoint): 
    """returns depthX (float), depthY (float), depthValue (int)""" 

    if vPoint.vector.z > _FLT_EPSILON: 

    # Center of depth sensor is at (0,0,0) in skeleton space, and 
    # and (160,120) in depth image coordinates. Note that positive Y 
    # is up in skeleton space and down in image coordinates. 
    # 

    pfDepthX = 0.5 + vPoint.vector.x * _NUI_CAMERA_SKELETON_TO_DEPTH_IMAGE_MULTIPLIER_320x240/(vPoint.vector.z * 320.0) 
    pfDepthY = 0.5 - vPoint.vector.y * _NUI_CAMERA_SKELETON_TO_DEPTH_IMAGE_MULTIPLIER_320x240/(vPoint.vector.z * 240.0) 

    # 
    # Depth is in meters in skeleton space. 
    # The depth image pixel format has depth in millimeters shifted left by 3. 
    # 

    pusDepthValue = int(vPoint.vector.z * 1000) << 3 
    return pfDepthX, pfDepthY, pusDepthValue 

return 0.0, 0.0, 0 

某种数组的?它会是什么样子?

回答

3

看起来你需要传递一个对象给函数。对象则有一个名为vector数据属性(这是另一个对象),其中有数据属性xyz

下面的伪代码可能会更清楚:

class vPoint: 
     def __init__(self, vector): 
      self.vector = vector 

    class vector: 
     def __init__(self, x, y, z): 
      self.x = #the x value 
      self.y = #the y value 
      self.z = #the z value 

这种方式,例如,您可以使用代码中指定的vPoint.vector.x访问x值。

相关问题