code: def calcPosition(self,parent_circle):
          ''' Position the circle tangent to the parent circle with the line connecting the centers of the two circles meeting the x axis at angle theta. '''
          if r not in self:
              raise AttributeError("radius must be calculated before position.")
          if theta not in self:
              raise AttributeError("theta must be set before position can be calculated.")
          x_offset = math.cos(t_radians) * (parent_circle.r + self.r)
          y_offset = math.sin(t_radians) * (parent_circle.r + self.r)
          self.x = parent_circle.x + x_offset
          self.y = parent_circle.y + y_offsef calcPosition(self,parent_circle):
          ''' Position the circle tangent to the parent circle with the line connecting the centers of the two circles meeting the x axis at angle theta. '''
          if r not in self:
              raise AttributeError("radius must be calculated before position.")
          if theta not in self:
              raise AttributeError("theta must be set before position can be calculated.")
          x_offset = math.cos(t_radians) * (parent_circle.r + self.r)
          y_offset = math.sin(t_radians) * (parent_circle.r + self.r)
          self.x = parent_circle.x + x_offset
          self.y = parent_circle.y + y_offset
docs: Position the circle tangent to the parent circle with the line connecting the centers of the two circles meeting the x axis at angle theta.