Ejemplo n.º 1
0
    def dyf(self, y, x):
        [ix, x_diff] = spline1D.roundAndCheck(x, self.max_i)
        [iy, y_diff] = spline1D.roundAndCheck(y, self.max_i)

        if (ix == -1) or (iy == -1):
            return 0.0

        yval = 0.0
        for i in range(4):
            for j in range(3):
                yval += float(j+1) * self.coeff[ix, iy, 4*i+j+1] * math.pow(x_diff, i) * math.pow(y_diff, j)
        return yval
Ejemplo n.º 2
0
    def f(self, y, x):
        [ix, x_diff] = spline1D.roundAndCheck(x, self.max_i)
        [iy, y_diff] = spline1D.roundAndCheck(y, self.max_i)

        if (ix == -1) or (iy == -1):
            return 0.0

        yval = 0.0
        for i in range(4):
            for j in range(4):
                yval += self.coeff[ix, iy, 4 * i + j] * math.pow(
                    x_diff, i) * math.pow(y_diff, j)
        return yval
Ejemplo n.º 3
0
    def dxf(self, z, y, x):
        [ix, x_diff] = spline1D.roundAndCheck(x, self.max_i)
        [iy, y_diff] = spline1D.roundAndCheck(y, self.max_i)
        [iz, z_diff] = spline1D.roundAndCheck(z, self.max_i)

        if (ix == -1) or (iy == -1) or (iz == -1):
            return 0.0

        yval = 0.0
        for i in range(3):
            for j in range(4):
                for k in range(4):
                    yval += float(i+1) * self.coeff[ix, iy, iz, (i+1)*16+j*4+k] * math.pow(x_diff, i) * math.pow(y_diff, j) * math.pow(z_diff, k)
        return yval
Ejemplo n.º 4
0
    def f(self, z, y, x):
        [ix, x_diff] = spline1D.roundAndCheck(x, self.max_i)
        [iy, y_diff] = spline1D.roundAndCheck(y, self.max_i)
        [iz, z_diff] = spline1D.roundAndCheck(z, self.max_i)

        if (ix == -1) or (iy == -1) or (iz == -1):
            return 0.0

        yval = 0.0
        for i in range(4):
            for j in range(4):
                for k in range(4):
                    yval += self.coeff[ix, iy, iz, i*16+j*4+k] * math.pow(x_diff, i) * math.pow(y_diff, j) * math.pow(z_diff, k)
        return yval