Skip to content

Update solar_vis.py #63

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 7 additions & 17 deletions solar_vis.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

"""Модуль визуализации.
Нигде, кроме этого модуля, не используются экранные координаты объектов.
Функции, создающие гaрафические объекты и перемещающие их на экране, принимают физические координаты
Функции, создающие графические объекты и перемещающие их на экране, принимают физические координаты
"""

header_font = "Arial-16"
Expand Down Expand Up @@ -33,12 +33,10 @@ def scale_x(x):
Принимает вещественное число, возвращает целое число.
В случае выхода **x** координаты за пределы экрана возвращает
координату, лежащую за пределами холста.

Параметры:

**x** — x-координата модели.
"""

x=int(x)
return int(x*scale_factor) + window_width//2


Expand All @@ -48,20 +46,15 @@ def scale_y(y):
В случае выхода **y** координаты за пределы экрана возвращает
координату, лежащую за пределами холста.
Направление оси развёрнуто, чтобы у модели ось **y** смотрела вверх.

Параметры:

**y** — y-координата модели.
"""

return y # FIXME: not done yet

return -int(y * scale_factor) + -window_height // 2

def create_star_image(space, star):
"""Создаёт отображаемый объект звезды.

Параметры:

**space** — холст для рисования.
**star** — объект звезды.
"""
Expand All @@ -74,21 +67,20 @@ def create_star_image(space, star):

def create_planet_image(space, planet):
"""Создаёт отображаемый объект планеты.

Параметры:

**space** — холст для рисования.
**planet** — объект планеты.
"""
pass # FIXME: сделать как у звезды
x = scale_x(planet.x)
y = scale_y(planet.y)
r = planet.R
planet.image = space.create_oval([x - r, y - r], [x + r, y + r], fill=planet.color)


def update_system_name(space, system_name):
"""Создаёт на холсте текст с названием системы небесных тел.
Если текст уже был, обновляет его содержание.

Параметры:

**space** — холст для рисования.
**system_name** — название системы тел.
"""
Expand All @@ -97,9 +89,7 @@ def update_system_name(space, system_name):

def update_object_position(space, body):
"""Перемещает отображаемый объект на холсте.

Параметры:

**space** — холст для рисования.
**body** — тело, которое нужно переместить.
"""
Expand Down