赞
踩
应用阶段
应用程序进行的数据准备
几何阶段
光栅化阶段
插个博客学习知识
unity在模型空间使用左手坐标系
unity在世界空间使用左手坐标系
unity在观察空间使用右手坐标系对左手来说摄像机的前向是-z轴
二维坐标系:可以通过翻转旋转形成等阶坐标系
三维坐标系:通过旋转并不能转换成相同的坐标系,有两种旋转方向
几何意义:三角形定则
向量b相对于向量a的偏移,b-a
只有乘除没有加减,且矢量只能被除
k*a = (kVx,kVy,kVz) a/k=(Vx/k,Vy/k,Vz/k)
几何意义:对矢量进行缩放
①几何意义:一个矢量在另一个矢量上的投影(0垂直,大于0夹角小于90度,小于0夹角大于90度)
a·b=b·a
a·b=ax·bx+ay·by+az·bz
②几何意义:两个向量的模相乘再乘以夹角的余弦值
归一化:把非零矢量转换成单位矢量的过程
单位矢量=a/|a|
定义域 值域 对应法则
自变量 因变量
函数 不等式 方程 相关联
百度搜线性函数 甚至可以看到 仿射变换和 线性映射
当时看到这个c1,c2,c3就蒙圈了,看不下去了,不懂这个怎么来的,今天可算让我懂了,看这里
就是基向量的缩写
满足矢量加和标量乘
如果旋转多个轴时,在unity中是按照先z轴再x轴再y轴旋转的。
先缩放,再旋转,再平移
而当一个矩阵和向量相乘时,可以看成矩阵的每一行都是一个基向量(此处把向量看成行矩阵);所以说:矩阵相乘就是一个坐标系的变换,即变成了由(矩阵第一行,矩阵第二行,矩阵第三行)为基向量的坐标系。
把矢量变换成列矩阵,进行右乘
从右至左进行计算
先缩放,再旋转,最后平移
旋转是按照z,x,y来的
总结:只要知道一个坐标系原点的相对位置,和该坐标系的基矢量,就能获得这个坐标系相对于另一坐标系的转换矩阵
首先:变换坐标系需要的两个量:相对原点,三个基矢量
因为相机空间是右手坐标系,需要把结果z轴翻转(实际书写中)
通过视锥体来剪裁图形比较麻烦,所以引入投影矩阵
投影矩阵:不进行降维操作,降维在屏幕映射阶段
透视投影:
正交投影:
直接用变换顶点的矩阵去变换法线,法线方向可能是错误的。
切线不受影响,同时切线和法线相互垂直,所以 使用原变换矩阵的逆转置矩阵 来变换即可。
变换矩阵如果是正交矩阵,即只包含旋转和统一缩放。那么就可以用原变换矩阵来变换。
行列矩阵或者向量:float3 float4
矩阵:float3x3 float4x4
矩阵相乘:mul()
到这暂且算基础完,剪裁空间 的 投影转换 还不懂 屏幕投射也放以后再看。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。