力扣刷题顺序
概述 分类总述
线性代数-笔记1
第一章、线性代数中的线性方程组 1.线性方程组等价⇔解集相同⇔增广矩阵行等价 2.线性方程组的解:null/one/infinite 3.线性方程组相容:有解(one/infinite) 4.行初等变换: 倍加:加上另一行的倍数 对换:两行互换 倍乘:一行各元素乘一个标量 5.行初等变换是可逆的 6.(行)阶梯形矩阵(缩写为REF) 每一非零行在每一零行之上 下方的行的先导元素在右方 推论:先导元素(一行的最左非零元素)所在列的下面全是零 7.简化(行)阶梯形(缩写为RREF) 先导元素都是1 先导元素是所在列唯一的非零元素 简化阶梯形是唯一的 主元位置:阶梯形中先导元素的位置;主元列*:含主元位置的列 主元列对应基本变量,非主元列对应自由变量 9.线性方程组相容⇔增广矩阵最右列不是主元列(没有0=b情况出现,其中b为非零常数) 10.向量方程: 以向量的方式代表一个单列矩阵,如:(3,-1)对应2x1列矩阵 11.证明某个向量c在其他两个向量a,b组成的面上,只需要证明存在r1,r2为实数让c = r1a + r2b成立。 12.向量方程与矩阵方程: 向量方程以向量加未...
Linux与window常用指令
linux启动关闭服务 ps -ef|grep tomcat //查看所有进程kill -9 pid //关闭对应pid进程cd /root/DCIM/apache-tomcat-7.0.90/bin //打开服务所在的文件夹ls //查看所有文件 显示除隐藏文件外所有文件及目录的名字./startup.sh //启动.sh文件tail -f ../logs/catalina.out //查看指定文件夹里的日志 ls –a //显示当前目录中的所有文件,包含隐藏文件 windows 查看服务 sc query redis //查询redis的服务sc stop/start redissc showid redissc qc redis /...
Lua源码编译流程
一、配置环境 示例: 新建lua文件夹,放置到环境变量的Path中 二、下载lua源码 https://www.lua.org/ftp/ 1.下载tar文件后 2.解压:使用powershell的 tar zxf .\lua5.3.4.tar.gz文件 3.拷贝src文件到【一】的文件夹中,注:不需要makefile文件 三、创建VS项目工程 1.使用Visual C++ 的空项目为模板 2.Source Files中添加现有项:添加所有【二】的文件夹的h和c文件 四、库形式编译 1.移除项目中的luac.c文件, lua.c文件 2.改变编译环境为x64, Release模式 3.设置项目属性的 配置类型: 动态库(dll) 4.C/C++ -> 预处理器 -> 预处理定义:添加: LUA_BUILD_AS_DLL 5.生成解决方案! 得到 .lib 和.dll文件 五、编译生成compiler 1.删除 LUA_BUILD_AS_DLL 的定义 2.设置项目属性的 配置类型:exe 3.添加回luac.c文件, 编译得到luac.exe文件(compiler) 六...
Lua源码研究
一、版本更替 Lua 5.4 : Lua 5.4 was released on 29 Jun 2020 The current release is Lua 5.4.2, released on 03 Dec 2020. Main changes new generational mode for garbage collection 垃圾收集的新分代模式 to-be-closed variables 可close的变量 const variables 常量变量 userdata can have multiple user values Userdata 可以有多个用户值 new implementation for math.random Math.random 的新实现 warning system 报警系统 debug information about function ...
内存管理
物理内存 当指令不连贯时,将会产生大量的时间浪费,DOTS和ECS从这个方面优化了内存的访问性能。 日志常见: OOM,显存大小无法分配过来的报错信息 三级缓存: 台式:主流在8~16MB 移动端:高端如845,2M 虚拟内存 交换内存: 当操作系统内存不够时,尝试把不用的内存(deadmemory)交换到硬盘上,从而节省出更多物理内存。 为什么移动端没有内存交换:移动设备IO速度慢,存储器的可擦写次数较台式少。 IOS提供了把不活跃的内存压缩起来放到一个特定空间。Virtual memory 很大。 内存寻址范围 可简单认为64位CPU寻址范围大。 安卓内存管理 Page: 一般4K一个Page 回收和分配以page为单位 用户态和内核态 LMK, low memeory killer 分类: Native: adbd等,adb的守护线程 System: 系统服务 Persistent: 电话,信息,蓝牙等等 Foreground: 应用 Perceptible: 搜索等等 Services: 服务,云服务等 Home:主界面 Previous: 之前...
排序算法
冒泡排序 时间复杂度:O(n^2) 特点:稳定的排序算法,即数组内相等元素不会排序后发生变化! 插入排序 特点:同样是稳定的 归并排序 核心思想:分治的思想 特点:同样是稳定的 快速排序 基本思路实现:选取左点,左右两端分别往中间走,注意要用“等于”的条件。 优化1: 选择点的优化: 优化2: 改交换为赋值: 优化3: 设定小个数的数组使用插入排序来完成 优化4: 使用伪递归:
基于物理的渲染-PBR
一、PBR核心理论 1. 基础理念 微平面理论(Microfacet Theory)。微平面理论是将物体表面建模成做无数微观尺度上有随机朝向的理想镜面反射的小平面(microfacet)的理论。在实际的PBR 工作流中,这种物体表面的不规则性用粗糙度贴图或者高光度贴图来表示。 能量守恒(Energy Conservation)。出射光线的能量永远不能超过入射光线的能量。随着粗糙度的上升镜面反射区域的面积会增加,作为平衡,镜面反射区域的平均亮度则会下降。 菲涅尔反射(Fresnel Reflectance)。光线以不同角度入射会有不同的反射率。相同的入射角度,不同的物质也会有不同的反射率。万物皆有菲涅尔反射。F0是即 0 度角入射的菲涅尔反射值。大多数非金属的F0范围是0.02~0.04,大多数金属的F0范围是0.7~1.0。 线性空间(Linear Space)。光照计算必须在线性空间完成,shader 中输入的gamma空间的贴图比如漫反射贴图需要被转成线性空间,在具体操作时需要根据不同引擎和渲染器的不同做不同的操作。而描述物体表面属性的贴图如粗糙度,高光贴图,金属贴图等必须...
Playable动画系统研究
1. Playable是什么 Playable是一组API,可以用来组合、混合、修改多个数据源,然后通过一个输出,将这些数据源处理完的结果播放出来。 2. 简单使用:播放单个动画 PlayableGraph的AnimationOutput依然是基于Animator组件的,不过你可以不用关心它了。 主要实现目的是可以不创建animationcontroller,用代码实现其中的一些功能 using UnityEngine;using UnityEngine.Animations;using UnityEngine.Playables; public class PlayClipOnObject : MonoBehaviour{ public AnimationClip myClip; private PlayableGraph graph; void Start () { PlayAnimation(gameObject, myClip); } public void PlayAnimation(GameObj...
Python Core Programming Note 1
Regular Expression match() & search() import rem = re.match('\d','a541')if m is not None: print(m.group())else: print("none found") ## none foundimport rem = re.match('\d','a541')if m is not None: print(m.group())else: print("none found") ## 5 import rem = re.search('..[\d]{1,3}','\na51')if m is not None: print(m.group())else: print("none found")# . 匹配除\n外的任意字符,其他如\t,\.都...








