posted @ 2020-01-30 12:02
01 2020 档案
摘要:动画系统也是Cocos的UI中一个重要的模块,今天对它的运作进行解析。 Action类的介绍 一个动画的基类是Action,其声明如下: 基类中主要包含播放动画的节点_target,用于记录动画信息的_tag,以及step、update等虚函数。 Action又继承出ActionInstant和Ac
阅读全文
摘要:事件系统是一个软件中的核心组成部分,是一个软件系统的底层支持模块。今天我们就来讲一讲Cocos的事件分发是如何做的。 订阅者模式 所谓的事件,指的是当一个程序逻辑完成后,需要触发的逻辑。与一般的模块直接调用相比,事件可以不依赖于事件响应者的实现而预先定义一组事件类型,甚至可以在响应事件的时候动态添加
阅读全文
posted @ 2020-01-29 16:11
摘要:寒假回家期间,在家下了一份cocos源码,在阅读的过程中也整理一下cocos的架构设计和实现,也算是为国隔离。 这次先讲一讲cocos对于UI元素的内存管理机制。之后本专栏还会写一些cocos其他模块的解析,例如渲染、事件分发等。 众所周知,C++是一种比较底层的语言,由于它目前还不支持垃圾回收机制
阅读全文
posted @ 2020-01-28 16:32
摘要:协程是一种实现并行编程的方法。不同于多线程或者多进程编程,各个协程其实还是在一个线程里运行,只是我们可以控制每个协程什么时候运行,什么时候停止,当一个协程停止时让另外的协程运行,从而达到并行计算的效果。运用协程的优点在于,因为所有的协程其实都是运行在一个线程里,因此它减少了在一个个协程间切换的代价,
阅读全文
posted @ 2020-01-19 16:08
摘要:使用蒙特卡洛积分法的第二个问题是:如何减少求出的积分值的方差。 我们首先要知道如何去计算蒙特卡洛积分的方差,选定概率密度函数p(x)和要求积分的g(x),可计算方差为: 假设理想情况,σ=0,那么: 也就是p(x) = g(x)/I,此时的方差一定为0。但是I正是我们要求的积分值,所以方差为0是不可
阅读全文
posted @ 2020-01-14 20:32
摘要:上一次我们谈到,使用蒙特卡洛积分法求积分涉及到两个问题:1.如何对一个任意分布函数进行抽样; 2.如何减少方差。这里我们先来探讨第一个问题,给定一个概率密度函数,如何对其进行采样,使采样满足其概率分布。 平常有两种方法实现: 1.逆变换算法 假设我们有一个概率分布函数p(x),对它取积分,可以得到它
阅读全文
posted @ 2020-01-11 15:15
摘要:今天我们来讲一节数学课:蒙特卡洛积分 一般在工程实践中,面对的函数千变万化,我们很难直接计算得出某个函数的积分的解析解。为了求解函数积分的数值解,蒙特卡洛法是一种强大的积分方法。它的推导过程如下: 假设我们想去求得函数g的积分,首先根据大数定理,任意给定一个实数函数f和随机变量x~p(x),可以得到
阅读全文
posted @ 2020-01-02 20:30
浙公网安备 33010602011771号