def merge_cone(new_cone):
for old_cone in self.shadow_cones:
if new_cone[0] > old_cone[0] and \
- new_cone[1] <= old_cone[0]:
+ (new_cone[1] < old_cone[0] or
+ math.isclose(new_cone[1], old_cone[0])):
#print('DEBUG merging to', old_cone)
old_cone[0] = new_cone[0]
#print('DEBUG merged cone:', old_cone)
return True
if new_cone[1] < old_cone[1] and \
- new_cone[0] >= old_cone[1]:
+ (new_cone[0] > old_cone[1] or
+ math.isclose(new_cone[0], old_cone[1])):
#print('DEBUG merging to', old_cone)
old_cone[1] = new_cone[1]
#print('DEBUG merged cone:', old_cone)
self.shadow_cones += [cone]
#print('DEBUG', yx)
- step_size = fractions.Fraction(CIRCLE, 4) / distance_to_center
+ step_size = (CIRCLE/4) / distance_to_center
number_steps = dir_i * distance_to_center + dir_progress
left_arm = correct_arm(-(step_size/2) - step_size*number_steps)
right_arm = correct_arm(left_arm - step_size)