A物体相对于A'的坐标,使用transform.invver...
计算出的坐标转换回世界坐标系的时候使用transform.transformpos...;
A物体相对于A'的坐标,使用transform.invver...
计算出的坐标转换回世界坐标系的时候使用transform.transformpos...;
负向量:一个向量和他的负向量相加等于0
Camera.ScreenToWorldPoint()将屏幕坐标转化为世界坐标
Camera.WorldToScreenPoint()反之同理
input.mousePosition()获得鼠标在屏幕坐标系中的坐标
transform.transformDirection()将一个方向从局部坐标系转成全局坐标,不考虑长度
transform.inverseTransformDirection()同理
transform.transfomVector()将一个向量从局部变成全局
transform.inverseTransformVector()同理
transform.forward当前物体的局部坐标系的z轴在世界坐标系上的指向
transform.right为x轴
transform.up为y轴
transform.translate(x,space.world)
可以使物体的移动按照世界坐标系进行
默认为space.self也就是说局部坐标系
transform.InverseTransformPoint()可以转换世界坐标为局部坐标
transform.TransformPoint()转换局部坐标为世界坐标
unity中有4个坐标系
全局、局部local、屏幕screen、视口坐标viewport
左手握拳大拇指向上,四根手指握拳的的方向为旋转的正方向
3D笛卡尔坐标系与OpenGL都是右手坐标系
Direct3D与Unity3D为左手坐标系
unity的世界坐标系是左手
transform.Translate方法中的第二个参数如果是空,则默认为当前对象的坐标系(局部坐标系)
朝着自己的前方移动:
朝着世界坐标x方向移动:
坐标转换:
1D:关于和度量的数学
Vector3 viewPos = Camera.main.WorldToViewportPoint(transform.position); 需要给相机挂一个MainCamera的Tag 不然报错 我用的2018 我记得以前只有一个相机的时候自动是主摄像机啊 现在得设置一下 不知道是不是我记错了
一共有四种坐标系:
全局坐标系 World Coordinate System
局部坐标系 Local Coordinate System
屏幕坐标系 Screen Space
视口坐标系 ViewPort Space
transform.Translate(transform.forward * Time.deltaTime, Space.Self);
首先transform.forward是当前物体的物体坐标系的z轴在世界坐标系上的指向,那么就是系统根据物体本身的局部坐标计算出的世界坐标!!!,但是如果你用了Space.Self,需要的是局部坐标,那么你的transform.forward就会再次被转换成局部坐标。所以就造成了,如果你物体旋转度是30,transform.forward就是30度的方向,然后,transform.forward在计算成局部坐标就会变成再+30度,所以看起来就是世界坐标的60度方向移动。
sin 是锐角的对边比斜边
cos 定义是 锐角的邻边比斜边
tan 直角三角形中,锐角对应对边比邻边
推导 Cos 45°
根据勾股定理 a² + b² = c²
斜边 c² =^a² + b²
如果两条边都为1 ,即斜边 ^2
为了计算简化 分母有理化,是针对分母有无理数或无理式的分式而言的,分母有理化也就是把分式的分母变成有理数或有理式的过程。
上下分别乘以根号2
^2/2 是 分母有理化的来
Cos 45° = ^2/2
笛卡尔坐标系:
1.笛卡尔直角坐标系
2.笛卡尔斜角坐标系
3.笛卡尔坐标系的度量单位一致
4.第一象限++,第二象限-+,第三象限+-,第四--
需要注意的是,求解逆矩阵是计算转置矩阵的代数余子式,前面乘以1/|A|
代数余子式具体算法:
第一行or第一列的每一个数,作为余子式的乘数,按照正负正的顺序相加
可逆也叫非奇异性
|A|是矩阵A的行列式
矩阵右上角一个T代表转置矩阵,转置矩阵是原矩阵的翻转
右上角一个-1代表逆矩阵,逆矩阵和原矩阵相乘=1,只有方块矩阵才有逆矩阵,因为第一个矩阵的列数如果和第二个矩阵的行数不相等就没法相乘。
判断一个矩阵是否可逆需要求矩阵的行列式,二阶矩阵行列式就是对角线相乘后相减。
三阶矩阵行列式需要求代数余子式结果,如果结果为0,没有逆矩阵,不为0,有逆矩阵
注意矩阵相乘是点乘结果,结果是数值
矩阵之间相乘是行*列,所以要求第一个矩阵的行数必须等于第二个矩阵的列数