- 博客(26)
- 收藏
- 关注
原创 07非方阵 不同纬度空间线性变化
2行3列矩阵用展示是在三维空间表现二维空间,原点不变 但这个是满秩情况,因为列空间维数和列行数一样 它的几何意义是将二维空间映射到三维空间上,从它的列数可以推出它有两个基向量,三行是表面每个基向量都是用三个独立的坐标来描述 3行2列矩阵是原始空间有三个向量,这三个基向量在变化之后用两个坐标来描述,它们落在二维的空间上 2列1行矩阵是二维空间变换到一维空间,它一对称轴上面点作为参考,变换到一维空间还是等距的,符合线性变换 1行2列矩阵展示。 ...
2022-01-03 18:23:55
403
原创 5 三维矩和逆矩阵(列空间/秩与零空间)
目录三维变换逆变换逆变换例子旋转剪切单位矩阵没有逆变换情况秩(空间维数)满秩零空间/核总结三维变换假设有一个特定的方程组,它们的系数和未知数等式都是有关系的,没有的未知数补上,抽取系数作为矩阵,未知数作为变量,等式结果为一个常数向量。 常数方程组通过系数和未知数结合在一起组成矩阵。 这个矩阵的等式是系数的矩阵和未知变量=常数 向量x是之前向量 x 线性变化A矩阵变换到新的向量,这个新的向量和向量v重合。 三维矩阵拆解计算
2022-01-03 18:19:23
1085
原创 GAME101-20课光场
目录光场仿生技术光场相机光波视网膜颜色色域调色系统(光)HSVAKACMYK-印刷色 光场 假设一个人看周围的环境,加入光的颜色(光的波长)出现颜色。再加入时间T,看到不同的方位,可以看任何一个地方。添加位移之后,可以在场景中某个位置来看,像在全息投影里面。光场是四维的函数,在不同的地方看。 全光函数的因子是角度、波长、时间、位置、移动 光场在这个全光函数的一个小部分,不同位置上光投射过来的方向。 光线:光的方向
2021-12-26 11:22:08
1429
原创 GAMES101- 19课 相机/透镜/光场
目录 相机 视场FOV 曝光度 IOS感光度 快门 透镜 景深 相机 相机成像通过凸透镜和感光零部件 古代的小孔成像和凸透镜成像。 感光零部件 传感器记录环境传来的光线的强度。 视场FOV 视场代表着摄像头能够观察到的最大范围,通常以角度来表示,视场越大,观测范围越大。 视场FOV是在摄像机的前面的宽度h和聚焦距离f,可以推出FOV。 FOV关系到传感器和镜头到传感器的距离有关。 改变聚焦,...
2021-12-24 09:50:24
1878
原创 现代图形学入门-18课 高级光线传播
目录门特德的无偏和有偏计算双路径追踪光子映射MLT外观建模非表面模型Phase函数KKM模型Marschner Model改善头发渲染颗粒模型-非表面模型半透明材质-次表面散射布料法线贴图门特德的无偏和有偏计算无偏是无论采用多个样本量,门特德值都是指向正数。采用无数的样本量。否侧,就是有偏,无数的样本量会收敛到正值。 双路径追踪 双路径追踪:入射光线和摄像机观察向量入射和反射,最后把它们连接起来,形成完整的路径。...
2021-12-22 11:26:25
465
原创 现代计算机图形学入门-闫令琪 17课基本材质
日出效果:尘埃分解光线画面。水柱之间有透明渐变和表面起伏反射。洞穴中间的聚光线发生的反射。飘起的头发发生的反射。布料材质反射的光线不同。蝴蝶的鳞片起伏反射。光晕的效果是中间灰两边亮。鱼片的表面的次反射,通过光线的研究来表现材质。 BRDF == 材质,通过BRDF公式渲染不同的材质。 BRDF示意图 这个公式是漫反射系数的表达式。假设光没有被物体吸收,入射光线和反射的光线的能量是一样多的。这个公式是PRDF的fr是常数,而L(w)是光线的能量,dw是漫反射的能量。第二步是
2021-12-22 06:46:56
576
原创 庄懂shader入门系列-代码Lambert模版
Shader "Unlit/l 03/Shader/moban Lambert"{ Properties{ _Diffuse("Diffuse Color",Color) = (1,0,1,1) _SpecularPow("高光次幂",Range(1,90))=30 _MainCol("颜色",Color)=(1.0,1.0,1.0,1.0) } SubShader{ Pass{ Tags{"LightMode" = "ForwardBas.
2021-12-10 06:33:48
127
原创 庄懂shader入门系列-06OldSchoolPlur
面板声明格式 cube的deafultTex是_skybox,2d里面可以填各种颜色-红绿蓝等各种颜色 参数属性 [ HiderInInspector ]隐藏可视面板的参数(图片中有错误) [ NoScaleOffset ]隐藏纹理参数 [ Normal] 提示美术添加对应的norm贴图 [ HDR ] 相当乘上一个强度,而开始的颜色是默认的。HDR把颜色做到更加亮, >1 消耗性能值 用途:不希望美术改;这.
2021-12-10 06:30:27
104
原创 庄懂shader入门系列-菲尼尔 立方体贴图 MatCap
菲尼尔现象 除了金属表面,还有视觉垂直,反射小;但视线非垂直表面,它反射越强。 节点 什么是PBR Matcap-直接通过View空间法线朝向,映射在模型表面的,它的缺点是动态就出现穿帮。优点是性能占用少。 一般使用在环境光中,游戏界面,商城广告等静态界面。 BRDF有光照模型,它可以展示在动态视觉运动 。它缺点是消耗性能大。 一般使用在人物模型,等需要精细的画面中。 节点实现 MatCap
2021-12-10 06:29:25
2472
原创 庄懂shader入门系列-02三色光
occlusion阻塞图 添加材质 附上材质 看模型渲染 材质烘培 ps展开Occlusion贴图 光照过程 光源 遮挡 漫反射-遮罩 镜面反射-遮罩 环境: 漫反射-遮罩 镜面反射-遮罩 光源 phone 混合细节 材质特点 ...
2021-12-10 06:29:10
276
原创 庄懂shader入门系列-01光原理学习
漫发射 :各个方向的光源反射漫发射 :各个方向的光源反射 各种向量-v观察方向/r光反射/h半角方向(点乘) 镜面反射:反射 空间:os本地空间,WS世界空间,VS观察空间,CS齐次裁剪空间,TS切线空间,TXS纹理空间。 Phone(比较贵,背面高光好看):光反方向》光方向》rDir反射方向》vDir观察方向》Phone Blinn-Phone(更便宜,背面的高光更假) 添加材质参数:输入结构》 输出结构 》 输入结构》顶点Shader》像素
2021-12-10 06:28:56
2313
原创 线性代数的本质-转换向量
向量的矩阵:通过基向量分解它们的向量。 向量转换 线性变化的是保持网格的平行和等距变化,原点还是在原来的位置上。 两个矩阵相加,它们存在存在三角形两边之和等于第三边规律。 2 x 2矩阵乘法运算 2x2矩阵矩阵列看为变化之后的基向量,而矩阵的乘法看出是它们的线性组合。 线性变化 基向量逆旋转90度,它们的表达式如下。 逆旋转90度的矩阵= 原向量 x 下面矩阵公式。 剪切:横坐标上面的向量保持不变,而y轴的坐标发生变化
2021-12-10 06:27:32
943
原创 线性代数的本质-3 向量
目录 缩放向量 基向量 张成空间 线性相关 缩放向量 常用从单位向量(长度为1),经过xy轴缩放,完成变换。 基向量 通过基变换得到不同的向量 特例:两个向量重合落在一条线上集合,两个零向量落在原点集合。张成空间包含这两种情况,它们是在这个空间缩放和相加之后可能得到的向量。 向量用终点代替箭头,这是为了方便看清楚。提前是它们都是从原点出发。 多个向量看出一个点,少数向量可以看为向量 张成空间 三维的两个..
2021-12-10 06:26:07
615
原创 庄懂shader入门系列-03OlderschoolPlus
主要思路 它是在哪个的模版上面开始进行修改?它一般在olderschool的blingphone开始改动的,它还添加Lambert和还有三色光它们一起组合 构成形式 代码思考:可以复制就不写它,思考用什么模版来改一下,变成想要的效果 通过通道放入不同的图 Ao就是对环境光的遮罩:它的好处是节约性能,减少采样时间,因为一张图就可以采取不同贴图 厚度图 奇怪的效果 ...
2021-12-10 06:21:21
80
原创 计数回收机制
目录引入计数机制sysGC模块Python零代链表命令行参数-sys模块垃圾回收机制的是主要使用计数机制为主,标记-清除和分代手机两种机制为辅的策略。python每个东西都是一个对象,他们核心是结构体:PyObject。PyObject是每个的对象必有得内容,ob recent就是做引用的计数,当一贯对象有了新的引用的上,它就增加,如果引用对象减少,它ob recent就会减少。当引用的计数为零的时候,该对象就不能使用。引入计数机制sys优点:简单;实时性,一旦没有引用,内存就
2021-12-10 06:18:19
95
原创 面对对象和面对过程
目录面向过程面向对象对象常用的方法__Init__方法self魔法方法:__str__方法__new__方法__self__析构对象面向对象三大特征:封装、继承、多态。类和实例面向过程面向过程(关注过程)-根据问题拆分解决的步骤,即业务逻辑从上到下写代码。函数式:把某种功能代码封装到函数中,日后的无需重复编写,仅调用即可;优点:面向过程适合做小项目。特点:它关注怎么做。类方法的第一个参数cls,而实例方法的第一个参数是self。面向
2021-12-09 17:58:23
215
原创 读取文件/模块
目录文件读写文件定位模块os模块模块制作、发布、安装文件打开关闭文件操作一般步骤:1. 打开文件2. 读/写文件3. 保存文件4. 关闭文件打开文件:使用open函数,可以打开一个已经存在的文件,或是创建一个新文件。语法结构:open(‘文件路径’,‘打开模式’),eg:open(‘test.txt’,’w’)文件读写读取文件:read(),把文件的内容全部读取出来。读取指定字符个数read(num)传入一个数字做参数,表示读取指定内容的个数。Read
2021-12-09 17:50:45
238
原创 局部全局变量、匿名函数、递行函数
目录局部变量全局变量匿名函数递归函数局部变量局部变量-函数内部定义变量【作用域仅局限在函数的内部】影响域:不同的函数,定义通用的局部变量,在函数外面使用不了,但各自用各的作用:为了临时保存数据,需要在函数中定义来存存储全局变量全局变量-函数外部定义变量作用域:任何地方都可以调用全局变量全局变量和局部变量优先级:局部变量>全局变量在函数内部修改全局变量:使用global关键字来修改引用函数:在函数调用的时候,实参传递就是对象的引用了解了原理,把控函数内部
2021-12-09 17:44:05
152
原创 私用和报错处理
目录私有化属性__new_方法单例模式错误与异常处理Python动态添加属性和方法总结:私有化属性私有化属性:它为了防止别人意味修改 。语法:两个下划线开头,声明该属性为私有,不能在类的外部部使用或直接访问。使用私有属性的场景:把特定的一个属性隐藏起来,不想让类的外部进行直接调用;我想保护这个属性,不想让属性的值随意的改变;保护这个属性,不想让派生类【子类】继承。特点:私有化的【实例】属性不能在外边直接访问,可以在我的内部随意使用;子类不能继承父类的私有化属性
2021-12-09 17:43:42
404
原创 常见内置函数类型
目录常用函数运算序列函数内置函数是python自带的函数内置函数表-来自https://docs.python.org/3/library/functions.html常用函数运算数学运算的函数:abs()绝对值、round()近似值、pow()求指数、divmod()求余可商、max()最大值、min()、sum()求和、eval()动态执行函数。1. abs()绝对值-语法:abs(x);参数:x-数值表达式;返回值:函数返回x的绝对值。2. round()-语法:rou.
2021-12-09 17:33:48
961
原创 函数返回值
概念:函数执行就会返回一个对象,内部的函数有return,就可以返回实际的值,否返回None类型:返回的任意类型,返回值类型取决于return后面的类型用途:调用方返回数据注意:在函数的体内出现多个return,但最后只能返回一个retur如果在函数体内执行retur,意味后面的代码语句不会再执行函数:必选函数、默认函数、可变长度函数(元组)、关键字可变函数(字典)函数嵌套函数可以嵌套使用,在函数内容调用另外一个函数,内层函数访问外层函数的变量不能重新赋值函数分类:根据函数的返回值和函数
2021-12-09 17:24:36
93
原创 高级数据类型
目录序列list元组tuple字典通用方法序列序列:序列就是一组按照顺序排列的值【数据集合】存在三种内置数据类型:字符串、列表、原组优点:可以支持索引和切片的操作特征:第一个正索引为0,指向是左端,第一个索引为负数时候,指向右端切片:截取字符串中的任意一段内容切片使用语法:[起始下标:结束下标:步长]Tips:切片不包含结束下标的对应数据,步长是隔几个下标获取一个字符;下标会越界,而切片不会,最多就是没有返回值listList:python非常..
2021-12-09 17:23:19
865
原创 可视化输入和输出/流程
特殊注射第一个#/use/···是表明注释在哪里;utf-8是中文编码列表list:一种有序和可更改的集合,允许重复成员元组Tuple:一种有序和不可更改的集合,允许重复成员集合(Set):一种无序的和无索引的集合,没有重复的成员词典(dictionary):一种无序,可变和有索引,没有重复成员> print(thislist[2:5]) 从0开始检索,这表明了第二项开始检索(包含第二项),第五项结束,不包含第五项For遍历循环所有的项目可视化输出可视化语法:字符...
2021-12-09 17:18:42
795
原创 变量-python
python变量创建变量的存放在数据值容器中,与其他的编程语言不同,它没有声明变量变量可以使用单引号或是双引号变量名:开头:字母或下划线,数字不能作为开头;组成:字母、数字、下划线;变量名区分大小写变量:一行的多个的变量可以分配不同的变量名+:文本和变量结合;变量=变量+变量;全局变量:它在函数的外部创建的。Global的关键词:函数内部创建global变量,是全局变量;它可以重新设立全局变量,变量名重新赋予函数例如:x = “awesome”def myfunc(): global .
2021-12-09 17:14:00
490
原创 Shader 材质BlenningPhong 代码模块
Shader "Unlit/NewUnlitShader"{ Properties{ _Diffuse("Diffuse Color",Color) = (1,0,1,1) _SpecularPow("高光次幂",Range(1,90))=30 _MainCol("颜色",Color)=(1.0,1.0,1.0,1.0) } SubShader{ Pass{ Tags{"LightMode" = "ForwardBase"} CGP.
2021-11-11 14:06:14
2441
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人