def __init__(self): x1, y1, z1, x2, y2, z2 = symbols('x1 y1 z1 x2 y2 z2') e0, r0 = symbols('e0 r0') self.x = x1, y1, z1, x2, y2, z2 self.k = r0, e0 dx = x1-x2 dy = y1-y2 dz = z1-z2 r = sqrt(dx*dx+dy*dy+dz*dz) e = e0*(r-r0)*(r-r0) self.e = e EnergyFunction.__init__(self)
def __init__(self): x1, y1, z1, x2, y2, z2 = symbols('x1 y1 z1 x2 y2 z2') r0, k2, k3, k4 = symbols('r0, k2, k3, k4') self.x = x1, y1, z1, x2, y2, z2 self.k = r0, k2, k3, k4 dx = x1-x2 dy = y1-y2 dz = z1-z2 r = sqrt(dx*dx+dy*dy+dz*dz) dr = r - r0 e = dr * dr *(k2 + dr*(k3 + k4*dr)) self.e = e EnergyFunction.__init__(self)
def __init__(self): x1, y1, z1, x2, y2, z2 = symbols('x1 y1 z1 x2 y2 z2') r0, e0 = symbols('r0 e0') self.x = x1, y1, z1, x2, y2, z2 self.k = r0, e0 dx = x1-x2 dy = y1-y2 dz = z1-z2 r2 = (r0*r0)/(dx*dx+dy*dy+dz*dz) r6 = r2 * r2 * r2 e = e0 * r6 * (r6 - 2) self.e = e EnergyFunction.__init__(self)
def __init__(self): x1, y1, z1, x2, y2, z2, x3, y3, z3 = symbols("x1 y1 z1 x2 y2 z2 x3 y3 z3") e0, cos0 = symbols("e0 cos0") self.x = x1, y1, z1, x2, y2, z2, x3, y3, z3 self.k = cos0, e0 dx1, dy1, dz1 = x1 - x2, y1 - y2, z1 - z2 dx2, dy2, dz2 = x3 - x2, y3 - y2, z3 - z2 r12 = sqrt((dx1 * dx1 + dy1 * dy1 + dz1 * dz1) * (dx2 * dx2 + dy2 * dy2 + dz2 * dz2)) cost = (dx1 * dx2 + dy1 * dy2 + dz1 * dz2) / r12 e = e0 * (cost - cos0) * (cost - cos0) self.e = e EnergyFunction.__init__(self)
def __init__(self): x1, y1, z1, x2, y2, z2 = symbols('x1 y1 z1 x2 y2 z2') r0, e0 = symbols('r0 e0') self.x = x1, y1, z1, x2, y2, z2 self.k = r0, e0 dx = x1-x2 dy = y1-y2 dz = z1-z2 r = sqrt(dx*dx+dy*dy+dz*dz) r = r0/r r3 = r * r * r e = e0 * r3 * r3 * (2 * r3 - 3) self.e = e EnergyFunction.__init__(self)
def __init__(self): x1, y1, z1, x2, y2, z2, x3, y3, z3 = symbols("x1 y1 z1 x2 y2 z2 x3 y3 z3") k2, k3, k4, theta0 = symbols("k2 k3 k4 theta0") self.x = x1, y1, z1, x2, y2, z2, x3, y3, z3 self.k = theta0, k2, k3, k4 dx1, dy1, dz1 = x1 - x2, y1 - y2, z1 - z2 dx2, dy2, dz2 = x3 - x2, y3 - y2, z3 - z2 r12 = sqrt((dx1 * dx1 + dy1 * dy1 + dz1 * dz1) * (dx2 * dx2 + dy2 * dy2 + dz2 * dz2)) theta = acos((dx1 * dx2 + dy1 * dy2 + dz1 * dz2) / r12) dt = theta - theta0 e = dt * dt * (k2 + dt * (k3 + k4 * dt)) self.e = e EnergyFunction.__init__(self)
def __init__(self): x1, y1, z1, x2, y2, z2, x3, y3, z3 = symbols("x1 y1 z1 x2 y2 z2 x3 y3 z3") e0, theta0 = symbols("e0 theta0") self.x = x1, y1, z1, x2, y2, z2, x3, y3, z3 self.k = theta0, e0 dx1, dy1, dz1 = x1 - x2, y1 - y2, z1 - z2 dx2, dy2, dz2 = x3 - x2, y3 - y2, z3 - z2 r12 = sqrt((dx1 * dx1 + dy1 * dy1 + dz1 * dz1) * (dx2 * dx2 + dy2 * dy2 + dz2 * dz2)) theta = acos((dx1 * dx2 + dy1 * dy2 + dz1 * dz2) / r12) e = e0 * (theta - theta0) * (theta - theta0) self.e = e EnergyFunction.__init__(self)
def __init__(self): x1, y1, z1, x2, y2, z2 = symbols('x1 y1 z1 x2 y2 z2') x3, y3, z3, x4, y4, z4 = symbols('x3 y3 z3 x4 y4 z4') e0, e1, e2, e3, e4, e5 = symbols('e0 e1, e2, e3, e4, e5') self.x = x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4 self.k = e0, e1, e2, e3, e4, e5 vx1, vy1, vz1 = x1-x2, y1-y2, z1-z2 vx2, vy2, vz2 = x4-x3, y4-y3, z4-z3 ax, ay, az = x2-x3, y2-y3, z2-z3 nx1, ny1, nz1 = vy1*az-vz1*ay, vz1*ax - vx1*az, vx1*ay - vy1*ax nx2, ny2, nz2 = vy2*az-vz2*ay, vz2*ax - vx2*az, vx2*ay - vy2*ax r12 = sqrt((nx1*nx1+ny1*ny1+nz1*nz1)*(nx2*nx2+ny2*ny2+nz2*nz2)) p = (nx1*nx2+ny1*ny2+nz1*nz2) / r12 e = e0 + p*(e1 + p*(e2 + p*(e3 + p*(e4 +p*e5)))) self.e = e EnergyFunction.__init__(self)