def execution():
    """Функция исполнения -- выполняется циклически, вызывая обработку всех небесных тел,
    а также обновляя их положение на экране.
    Цикличность выполнения зависит от значения глобальной переменной perform_execution.
    При perform_execution == True функция запрашивает вызов самой себя по таймеру через от 1 мс до 100 мс.
    """
    global physical_time
    recalculate_space_objects_positions(space_objects, physical_time)
    for body in space_objects:
        update_object_position(screen, body)
Esempio n. 2
0
 def load(self, filename):
     self.destroy_all()
     self.bodies.clear()
     configs = json.load(open(filename))
     for config in configs:
         self.bodies.append(SpaceBody(**config))
     calculate_scale_factor(self)
     calculate_v_scale_factor(self)
     for body in self.bodies:
         create_image(self.canvas, body)
         update_object_position(self, body)
Esempio n. 3
0
def execution():
    """Функция исполнения -- выполняется циклически, вызывая обработку всех небесных тел,
    а также обновляя их положение на экране.
    Цикличность выполнения зависит от значения глобальной переменной perform_execution.
    При perform_execution == True функция запрашивает вызов самой себя по таймеру через от 1 мс до 100 мс.
    """
    global physical_time
    global displayed_time
    sm.recalculate_space_objects_positions(space_objects, time_step.get())
    for body in space_objects:
        sv.update_object_position(space, body)
    physical_time += time_step.get()
    displayed_time.set("%.1f" % physical_time + " seconds gone")

    if perform_execution:
        space.after(101 - int(time_speed.get()), execution)
Esempio n. 4
0
 def redraw(self):
     for body in self.bodies:
         update_object_position(self, body)