03.sprite_kit前瞻之节点树

本文介绍SpriteKit框架中节点树的概念及其应用。SKScene作为SKNode的子类,构成节点树的基础,通过调整节点属性可以实现旋转、放缩等效果。文章还探讨了节点树在渲染顺序控制及用户输入响应方面的作用。

Sprite Kit前瞻之节点树

本文仅是前瞻,只需抱着欣赏态度阅读即可。

SKScene 类继承自 SKNode 类,SKNode 类继承自UIResponder类。谈完继承关系,我们来说说节点(Node),当我们使用 Sprite Kit 框架时,节点是所有内容的基本构建块,同时场景( scene )对象扮演着节点树的根节点角色。场景和它的后代决定了绘制什么内容以及如何渲染。

在由父类定义的坐标系中,每一个节点的位置都是明确定义的。同时,节点也适用于其他属性到自身内容和它后代的内容。举个例子,当一个节点进行了旋转,那么所有它的后代都将被旋转,这很好理解:比如有一个对象A作为父类,拥有几种属性,那么B继承了A,自然就拥有了那些属性,然而假如有对象C继承了B,这时候C因为继承关系也会拥有A的那几种属性!这有什么用?比如我们通过节点树创建一个复杂的 image 节点( node ),通过调整在它上面的节点属性来进行旋转、放缩以及混合整个图像。

强调SkNode 类不绘制任何东西,但是它可以将自身属性传递给它的后代。在 Sprite Kit 框架中,每一种可绘制的内容都将单独由一个明确地子类来表示,其他节点尽管不绘制内容,但是通过调整自身属性来修改其后代。举例来说,你可以通过SKEffectNode类增加一个图像过滤功能使得继承自它的 SKScene 类都拥有该功能。通过精确控制节点树的结构,能够明确控制节点渲染顺序。

方才说到,SKNode 类继承自UIResponder 或者 NSResponder,因此只要是继承自 SKNode 类的新类都能接收用户的输入。视图( View )类自动扩展响应链将节点加入到场景的节点树。

补充:
1. 有哪些继承自 SKNode?
SKLabelNodeSKLightNodeSKSpriteNodeSKVideoNode等等。看名称Label自然用于绘制标签,Video 自然用于绘制视频,是不是有种各司其职的感觉,换句话说,每一种东西都有一个不同的类来绘制,它们都是继承自SKNode.

内容概要:本文围绕基于Wasserstein生成对抗网络(W-GAN)的光伏场景生成程序展开研究,提出了一种利用W-GAN生成高精度、高波动性光伏出力场景的方法,以应对新能源发电中的不确定性挑战。研究通过构建生成器与判别器之间的对抗训练机制,有效捕捉光伏出力的时间序列特征与统计分布规律,生成符合实际运行条件的多样化场景数据,弥补实测数据稀缺问题。相较于传统GAN,W-GAN引入Wasserstein距离作为损失函数,显著提升了模型训练的稳定性与梯度传播的连续性,增强了生成样本的质量与多样性。文中还提供了完整的Python代码实现,便于读者复现与拓展。; 适合人群:具备一定Python编程能力、深度学习基础的研究生、科研人员,以及从事新能源电力系统规划、优化调度、不确定性建模等相关领域的工程师和技术人员。; 使用场景及目标:①用于电力系统中可再生能源出力的不确定性建模与风险评估;②支撑微电网、综合能源系统等场景下的随机优化、鲁棒优化与分布鲁棒优化研究;③为风光互补系统、储能配置、需求响应等应用提供高质量、多样化的输入场景;④帮助研究人员掌握深度学习在能源时序数据生成中的前沿应用,推动模型迁移至风电、负荷等其他场景生成任务。; 阅读建议:建议读者结合提供的Python代码进行动手实践,深入理解W-GAN的网络架构设计、损失函数构造、训练技巧及超参数调优策略,重点关注Wasserstein距离在缓解模式崩溃与梯度消失问题中的作用,并尝试将该框架拓展至多变量、多站点或多能源联合场景生成,提升模型的泛化能力与工程实用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值