Сцены
|
Страница в процессе перевода. |
Что такое Scene?
Объекты Scene — это основные стандартные блоки рисунков в Makie. Сцена выступает в качестве контейнера для Plot и других объектов Scene. С объектами Scenes связаны объекты Plot и Subscenes. У каждой сцены также есть преобразование, состоящее из масштаба, перемещения и поворота.
|
Note До появления рабочего процесса |
Доступ к графикам сцены можно получить посредством scene.plots.
Доступ к подсценам (также называемым дочерними сценами) можно получить посредством scene.children. В результате возвращается массив дочерних сцен Scene. Дочернюю сцену можно создать так: childscene = Scene(parentscene).
С любым объектом Scene с осью также связан объект camera; к нему можно получить доступ посредством camera(scene), а к его элементам управления — посредством cameracontrols(scene). Дополнительные сведения об этом см. в разделе Камеры.
Размер объекта Scene настраивается. Задать размер можно в аппаратно независимых пикселях следующим образом: Scene(size = (500, 500)). (Дополнительные сведения о размерах, разрешениях и единицах измерения см. в разделе Размер и разрешение рисунка или Как подобрать размер рисунка, размер шрифта и разрешение (в DPI, точках на дюйм).)
Любой именованный аргумент, переданный в объект Scene, распространяется на его графики, поэтому вы можете задать палитру или цветовую карту в самой сцене.
Подсцены
Подсцена ничем не отличается от обычной сцены, за исключением того, что она связана с родительской сценой. Она наследует преобразования родительской сцены, но затем может быть преобразована независимо от нее.
Атрибуты сцены
-
scene.clear = true: сцены отрисовываются сначала на одном и том же изображении. Если для сцены (подсцены) задано значениеclear = true, ранее отрисованные объекты в ее области очищаются и заменяются наbackgroundcolor. В противном случае графики вsceneбудут отрисовываться поверх, а цвет фона будет проигнорирован. Обратите внимание, что технически это не атрибут, а просто полеScene. -
ssao = SSAO(bias = 0.025, blur=2, radius=0.5): управляет настройками SSAO; см. документацию по освещению. -
size = (800, 600): задает размер создаваемого окна, если сцена является корневой.
Изменение сцены
Makie предлагает изменяющие функции для динамического масштабирования, перемещения и поворота сцен.
#
Makie.translate! — Function
translate!(t::Transformable, xyz::VecTypes)
translate!(t::Transformable, xyz...)
Применяет абсолютное перемещение к данному объекту Transformable (сцене или графику), перемещая его в позицию x, y, z.
#
Makie.rotate! — Function
rotate!(Accum, t::Transformable, axis_rot...)
Применяет относительный поворот к трансформируемому объекту путем умножения на текущий поворот.
#
Makie.scale! — Function
scale!([mode = Absolute], t::Transformable, xyz...)
scale!([mode = Absolute], t::Transformable, xyz::VecTypes)
Масштабирует заданный объект t::Transformable (сцену или график) до заданных аргументов xyz. Отсутствующее измерение будет масштабировано на 1. При значении mode == Accum заданное масштабирование будет умножено на предыдущее.
Обновление сцены
При изменении сцены может потребоваться обновить несколько ее аспектов. Makie предоставляет три основные функции обновления:
#
Makie.update_cam! — Function
update_cam!(scene::SceneLike, area)
Обновляет камеру для заданной сцены scene так, чтобы она охватывала область area в двух измерениях.
События
У сцен есть несколько предварительно созданных перехватчиков событий (действующих через наблюдаемые объекты), которые можно обрабатывать. Доступ к ним можно получить посредством scene.events, в результате чего возвращается структура Events.