Exemple #1
0
 def velocity(self, pnt: Vector):
     r = pnt
     ra = self.pnta
     rb = self.pntb
     a = r - ra
     b = r - rb
     am = a.return_magnitude()
     bm = b.return_magnitude()
     vel = Vector(0.0, 0.0, 0.0)
     if pnt != self.pnti:
         axb = a**b
         if axb.return_magnitude() != 0.0:
             den = am * bm + a * b
             vel += axb / den * (1 / am + 1 / bm)
     axx = Vector(0.0, a.z, -a.y)
     if axx.return_magnitude() != 0.0:
         den = am - a.x
         vel += axx / den / am
     bxx = Vector(0.0, b.z, -b.y)
     if bxx.return_magnitude() != 0.0:
         den = bm - b.x
         vel -= bxx / den / bm
     vel = vel / fourPi
     return vel
Exemple #2
0
 def set_hinge_vector(self, hvec: Vector):
     if hvec.return_magnitude() != 0.0:
         self.uhvec = hvec.to_unit()
     else:
         self.uhvec = hvec