常见的数值积分与解线性系统方法
数值积分对于某一函数$f(x)$,我们需要由 $t$ 时刻的状态求得未来某时间 $t+h$ 的状态。即由 $f(t)$求得 $f(t+h)$ 。为此,我们将$f(t)$ 泰勒展开 $f(x+\Delta x)=f(x)+f’(x)\Delta x+\frac{1}{2}f’’(x) \Delta x^2+\frac{1}{6}f’’’(x) \Delta x^3+\cdots$ 实际中不可能取到无穷项,故以下方法均为其的近似截断。
我们可以通过所取泰勒展开中最高阶数对积分方式进行分类。如欧拉积分只用到了一阶导数,所以是一阶方法。且其误差为 $O(n^2)$ ,步长 $h$ 减半后,误差变为原误差的四分之一。
欧拉积分经典以折线逼近曲线的趋近式表达
显式欧拉(Explicit Euler)最简单的积分方式,然而会有数值膨胀
$\vec v(t_1)=\vec v(t_0)+M^{-1}\vec F(t_0)\Delta t $
$x(t_1)=x(t_0)+\vec v(t_0)\Delta t$
隐式欧拉(Implicit Euler)以未来的状态更新现在 ...
拣爱
写在之前 《拣爱》(LoveChoice)是亚恒在GameJam中完成原型,之后补全并逐步完善的AVG游戏。“怎样才是爱?”他尝试用这个游戏去作回答。这款有着温暖画风和剧情的游戏不只靠选项推进剧情,而是用丰富的交互去让剧情更加丰满。意料之外而情理之中的交互方式,提醒玩家去注意那些感情中容易被忽略的细节。
关于作者 可能很多玩过《拣爱》的人,都不会想到,亚恒之前是一个汽车嵌入式软件工程师和兼职日语翻译,没有任何游戏行业从业经验。为什么会选择开始做游戏呢?以下是亚恒关于此的自述。
亚恒:“可能是出于中年危机吧(笑)。早几年我开始思考我的终身职业应该是什么,也看了一些别人的理论。我认为有两点判断标准是我自己认可的:1、当你很有钱的时候,你依然愿意做这件事情。2、做这件事情,你可以不害怕周一。而其实我得出来的答案不是做游戏,而是做创作。我希望能把创作,作为我的终身职业。可以是文学、视频、电影、音乐,当然也可以是游戏。而之所以先选择游戏,一是因为游戏是这些领域里面我最熟悉的,也是我闲时最大的爱好。二是游戏开发与我自己的技能集合 ...
Unity Burst 初探
前言 Unity DOTS是Unity官方基于ECS架构开发的一套包含Burst Complier技术和JobSystem技术面向数据的技术栈,它旨在充分利用SIMD,多线程操作充分发挥ECS的优势。ECS本人暂且没这个能力,与之关系相对没这么密的Burst和Job倒是可以单拆下来把玩把玩。
准备资源准备 在Unity的Package Manager中开启显示Preview的选项,之后安装Jobs,Burst会被一并装上。
大致用法1234567891011121314151617181920212223using Unity.Jobs; //定义【IJob】【IJobParallelFor】using Unity.Burst; //定义【BurstCompile】using Unity.Collections; //定义【NativeArray】等容器using UnityEngine.Jobs; //定义【IJobParallelForTransform】using Unity.Mathematics; //SIMD数学库[BurstC ...
Dynamic Bone 简析
前言 最近接实习公司需求整Dynamic Bone,虽然因Dynamic Bone中节点距离恒定,布料模拟方面Magica Cloth效果远甚Dynamic Bone(然而性能消耗上也是),但Dynamic Bone的算法也算得上经典,也值得一写。
正文DataStruct123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 public Transform m_Root = null;//裁切参照 public List<Transform& ...
GAMES201
Lec1 课程介绍基于物理的动画简介
物理引擎及应用定义:在电脑中模拟真实世界
应用:计算机辅助设计,电影特效,VR/AR,训练机器人,游戏
课程关键词离散化、高效求解器、生产力、性能、硬件体系结构、数据结构、并行化、可微编程
Taichi 编程语言简介什么是太极
太极的安装
太极的初始化
太极的数据结构
太极的张量
kernels用于计算的函数,即时编译,kernel不能调用kernel
functionskernel和func均可调用func
标量
矩阵和线性代数
原子操作
调试
Lec2 拉格朗日视角(1)介质模拟的两种视角拉格朗日视角用拉格朗日粒子、三角网格、方格等代表跟随材料移动的节点,不断检测自身的位置和速度
欧拉视角网格本身不移动,检测穿过当前节点的材料的速度
两种视角的对比通常来说,拉格朗日视角很好地体现了“随波逐流”,而欧拉视角更倾向于“岿然不动”
拉格朗日视角下的粒子模拟和欧拉视角下的烟雾模拟
弹簧质点系统简单但是实用,一般用于布料系统、弹性物体等
系统的理论依据:胡克定律和牛顿第二定律
时间积分计算机中的时间并 ...
雨纪
写在之前 《雨纪》(Flood of Light)是独立游戏工作室Irisloft开发的一款画风精美、音乐动人的休闲解谜游戏。游戏画面唯美清新,色调清冷压抑,不过和器乐以及淅沥的雨声搭配在一起十分舒服,用一种平静、渐入的方式为玩家讲述了一个关于拯救、关于找寻的故事。
游戏背景 故事发生在一个被水淹没的孤城,玩家操作一位沉默无言的女孩从八层楼高的天台一路点亮石碑降低水位,从而到达城市底部,揭开迷局。故事的主线埋藏在角色与机器人的对话和不断收集到的邮件之中,当你不断深入城市,也便不断了解故事事相,最终由手头零零散散的线索拼凑出事件的真相。
太阳碑的生产并没有解决暴雨,蓝光中心的建成亦毫无希望。人们彻底放弃了这座城,这座雨城,希望也变为不安和绝望。《雨纪》的故事远不止激活全部八个基座打开光之门,使得永无止境的暴雨停歇,拯救那些被人类抛弃的机器人们。随着游戏的不断深入,不同的机器人所说的话越发的引人深思,而代表剧情的信件也逐渐打开,然后我们就会明白“引导者”的由来和时代下人类的所作所为,这很好的诠释了该作的主题——末世里孤独 ...
ACM退役记
ACM/ICPC亚洲区域赛2022赛季的结束了,大三老东西也该退了。惯例上段小作文,纪念下我坎坷的ACM经历。
拿银跑路
### 前缘
之前接触代码还是高中创客实验室整Arduino,控制单片机的代码与C相似。难忘当时和几个志同道合的伙计天天翘午休泡机房,和班主任斗智斗勇(以及各种忽悠那个只会VB的实验室老师批假交涉……
当时就对计算机展现出莫大兴趣,加之一直想做游戏,高考果断以专业优先来了东秦计算机。当年学校整游戏的社团垮了,同时在对床一位刷招新百题的室友那了解到了ACM竞赛。感觉很有趣的样子,但我甚至连暑假集训营没上……于是图书馆猛肝三天,榜冲的那叫一个快,进群后就被叫做卷佬收割一片Orz(也补了很多C++的基础知识倒是,想当初一道a+b的多组输入搜不到都冥思苦想了半天)
梦开始的地方
榜4和榜10,当年准备招新赛成果
首年 补完C++语法顺利进入ACM俱乐部,之后主要跟着洛谷的题单刷基础算法:数据结构,图论,数论,动归……校程序竞赛堪堪打 ...
笼中窥梦
写在之前 《笼中窥梦》(Moncage)是一款与空间相关的解谜类的游戏。人类的梦境总是支离破碎且难以捉摸,但如果是观察别人的梦境,又会是种怎样的体验?《笼中窥梦》向我们展示了各种奇妙的梦境,作为窥梦者,你需要拼接不同的梦境,探索每个角落,了解入梦者的故事。
游戏玩法 游戏仅有一个寓意“笼子”的立方体,每个面中都映射着一个世界,不同的世界间看似独立,却又于细微之处密切相关。
玩家所要做的就是在三维空间里,对画面进行观察、旋转,在特定角度下使得一个立方体多面之间的景物交叠,使多个要素联结,从而触动机关、解开谜题。
如果说,《画中世界》是试图在三维空间中探索二维艺术的一种尝试,《纪念碑谷》是不可能的几何在二维空间的极限表达,那么《笼中窥梦》则是将三维空间进行解构,拼凑出一个合理而自洽的故事。
游戏背景 游戏里营造的色调和空间感无限接近于梦境的支离破碎,你甚至能在这种虚幻之中逐步感受到剧情设计者的暗合。当废墟与军营在立方体上取代灯塔与乡村,当子弹从靶场射进战场,无需额外的文 ...
铸时匠
写在之前 《铸时匠》(Clocker)是一款与时间相关的解谜类的游戏。它有着独有的时间机制,唯美的手绘画风以及感人的剧情。由四个独立游戏人用四年时间打造,向玩家展现了这样一个有关时空与亲情的故事。
游戏背景 游戏采用双线叙事,父亲约翰为生活所迫而努力挣扎,在一个老人的手中得到了一块奇特的表,为救女儿不小心触发了表的能力,整个灰色世界只有他自己可以移动,并且可以通过那个奇特的表操纵时间,从而影响他人的行动。而游戏的另一个主角爱丽丝则可以使时间重新流动,虽然她更多的是在以一个旁观者的视角来看这个被父亲影响的世界。爱丽丝的世界充满了色彩,且用上了相对明快的BGM——这与灰暗沉闷的成年人世界截然不同。
游戏玩法 游戏的主要玩法是通过奇特的钟表控制某一个人或物体在一段时间内的动作来进行不同的交互以产生不同的后果,制作组非常用心,每一个人物都有不同的交互方式,之后产生的效果都刻画得非常详细,因此游戏在玩家不同的选择之下会产生双结局。“蝴蝶效应”不仅是游戏的核心玩法,更是游戏的乐趣所在。
游戏画面 游戏采 ...
纪念碑谷系列
写在之前 2014年,纪念碑谷横空出世,时至今日,仍属于该类游戏的巅峰。游戏背景故事有待考证,不过相信玩家通过游玩过程中接触的只言片语,都会有着属于自己的理解。(本次推荐仅涉及初代纪念碑谷,相对于二代和正在制作的三代而言,初代的推出给人以震撼之感,而后续作品也仅是在其基础上有了些适度衍生。<个人观点>)
游戏特色 游戏中的哪点最为吸引你呢?清新的画风,奇特的视差,与图腾间的友谊?无论你是没入而一头雾水,亦或入过而有所回忆,都请由我简单陈述。
关于画风 不少人欣赏纪念碑谷的美术风格,但应该很少人了解这是一种名为Lowpoly(低多边形)的3D美术风格,特点是低细节,面大而粗犷,高度渲染,经常配以柔光效果。与其在不断模拟以达到逼真的效果,抽象化的表达亦不失是条出路。
游戏中Lowpoly的表现
Timothy J. Reynolds 和他的设计作品(图源官方介绍)
#### 关于视差
这就得聊到Ustwo Games Ltd开发所秉承的思想:See things in di ...