Engee 文档

场景

该页面正在翻译中。

什么是a 场景?

场景s是Makie数字的基本组成部分。 场景就像一个容器。 情节s和其他 场景s. 场景情节s和 下标,下标 与它们相关联。 每个场景也有一个转换,由_scale_、_translation_和_rotation_组成。

在介绍 工作流程, 场景s曾经是从所有绘图函数返回的主容器对象。 现在,场景主要是许多用户的实现细节,除非他们想要构建超出默认系统提供的自定义解决方案。

场景的情节可以通过 场景。图则.

场景的子场景(也称为子场景)可以通过 场景。儿童. 这将返回一个 场景孩子的场景。 子场景可以通过以下方式创建 childscene=场景(parentscene).

任何 场景 随着轴也有一个 照相机 与之相关联;这可以通过访问 相机(场景),及其控制通过 cameracontrols(场景). 有关这些的更多文档在 相机部分。

场景s有一个可配置的大小。 您可以通过执行以下操作来设置与设备无关的像素的大小 场景(大小=(500,500)). (更多关于尺寸,分辨率和单位 图形大小和分辨率如何匹配数字大小,字体大小和dpi

给出的任何关键字参数 场景 将传播到其图中;因此,您可以在场景本身中设置调色板或颜色表。

下标,下标

子场景与普通场景没有什么不同,只是它链接到"父"场景。 它继承父场景的转换,但随后可以独立于它进行转换。

场景属性

  • 场景。clear=true:场景首先绘制到同一个图像上。 如果 clear=true 对于一个(子)场景,它将清除其区域中先前绘制的东西。 背景颜色. 否则,情节在 场景 将被绘制在顶部,backgroundcolor将被忽略。 请注意,这在技术上不是一个属性,而只是一个 场景.

  • ssao=SSAO(偏置=0.025,模糊=2,半径=0.5):控制SSAO设置,请参阅照明文档。

  • 大小=(800,600):如果场景是根场景,则设置创建窗口的大小。

修改场景

Makie提供了突变功能来缩放、翻译和旋转你的场景.

translate!(t::Transformable, xyz::VecTypes)
translate!(t::Transformable, xyz...)

对给定的应用绝对翻译 可转换 (一个场景或情节),将其翻译为 x,y,z.

rotate!(Accum, t::Transformable, axis_rot...)

通过乘以当前旋转,对可转换应用相对旋转。

scale!([mode = Absolute], t::Transformable, xyz...)
scale!([mode = Absolute], t::Transformable, xyz::VecTypes)

缩放给定的 t::可转换 (一个场景或情节)给出的参数 xyz. 任何缺少的维度都将按1缩放。 如果 模式==Accum 给定的缩放将与前一个相乘。

更新场景

当场景发生变化时,您可能需要更新它的几个方面。 Makie提供三个主要的更新功能:

update_cam!(scene::SceneLike, area)

更新给定的相机 场景 以复盖给定的 面积 在2d中。

活动

场景有几个预先创建的事件"钩子"(通过Observables),你可以处理。 这些可以通过访问 场景。活动,它返回一个 活动结构。