3D数学基础(一)Unity坐标系】的更多相关文章

Unity引擎时非常成熟的,引擎内部运用了很多的数学知识,他对开发者来说是不可见的,而且他已经封装好的算法也不是很全面.此外,要是使用引擎封装好的算法也要明白其实现的原理. 写过一些代码,也参考了一些博客,书籍,想就此记录总结一下的自己所学到的东西,也给大家分享一下. 而我主要想从这五个方面来简要说说,分别是Unity坐标系,向量,矩阵,四元数,欧拉角.这篇先来介绍第一个. 在介绍Unity的坐标系钱,我想先谈谈3D坐标系,表示的是三维空间,它存在着三个坐标轴,分别是X轴,Y轴,Z轴.3D坐标系…
在3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点.本文主要归纳了两种表达方式的转换,计算公式采用3D笛卡尔坐标系: 单位四元数可视化为三维矢量加上第四维的标量坐标 .其中,矢量部分等于单位旋转轴乘以旋转半角的正弦,标量部分等于旋转半角的余弦. 图1 3D Cartesian coordinate System (from wikipedia) 定义分别为绕Z轴.Y轴.X轴的旋转角度,如果用Tait-Bryan angle表示,分别为Yaw.Pit…
[计算几何复习要点] 1.向量加法的几何含意: a+b的释意为:a的尾连上b的头,新建一条从a的尾指向b的头的向量. 2.向量减法的几何含意: a-b的释意为:尾部相连,新建一个从b的头指向a的头的向量. 3.点积,内积: 对于向量a(Xa,Ya).向量b(Xb,Yb),a与b的点积为:Xa*Xb+Ya*Yb. 另外 a*b=|a|*|b|*cos(a与b夹角).通过此公式可通过坐标来计算2向量夹角. 4.叉积.注意,axb 的结果是一个向量. |aXb| = |a|*|b|*sin(a与b夹角…
1, World Space(世界坐标): 我们在场景中添加物体(如:Cube),他们都是以世界坐标显示在场景中的.transform.position可以获得该位置坐标. 2, Screen Space(屏幕坐标): 以像素来定义的,以屏幕的左下角为(0,0)点,右上角为(Screen.width,Screen.height),Z的位置是以相机的世界单位来衡量的. 注:鼠标位置坐标属于屏幕坐标,Input.mousePosition可以获得该位置坐标,手指触摸屏幕也为屏幕坐标,Input.Ge…
2D矩阵的旋转: NewX = X * Cos(α) - Y * Sin(α) NewY = X * Sin(α) + Y * Cos(α) 一般在三角函数中使用的是弧度,我们可以通过下面的公式将角度转为弧度: α = (degrees / 360 * PI) 示例代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Drawing; names…
3D引擎中对于矩阵的使用非常多,介绍这些知识也是为了告诉开发者原理,更有助于开发者编写逻辑. (1)固定流水线 各种坐标系之间的转化是通过矩阵相乘得到的,这里面就涉及到了3D固定流水线.作为3D游戏开发者,必须要知道两个流水线:一个是固定流水线,一个是可编程流水线. 固定流水线主要原理是3D模型在屏幕上显示是按照一定得固定流程来完成的,这个固定的流程就是固定流水线.鸡蛋来说就是一个3D物体在显示器上成像的过程. 局部坐标-->世界坐标-->观察坐标-->消隐-->光照-->透…
https://blog.csdn.net/popy007/article/list/2?t=1&  //向量计算相关文章 https://www.baidu.com/link?url=48CwL-j6E_WG3nUxbBFVL9ejTlj8g-KfykMcBecP27EyuZ5YhLVktT5lT3MJ1ZTR48BdbODaCBKS2GMHSsI55T4YKwRz1_r-5MDQTWjDIaa&wd=&eqid=a068703d00428e9b000000065d0591f8 …
在Unity中我们通常会用到以下几个坐标系下的点: 世界坐标系:World Space 简单来讲,我们通过 transform.position | transform.rotation 获取得到的位置和旋转信息都是基于世界坐标系的,可以说,我们的很大一部分操作都是基于世界坐标系. 观察坐标:Eye Space 我们在Unity的Game视图中观察的画面始终是由摄像机提供的,基于摄像机的一个坐标系也就是"Eye Space"(简单来讲就是把摄像机看作原点位置). 视口坐标:View P…
一.坐标系的概念 Unity 世界坐标系采用左手坐标系,大拇指指向X轴(红色),食指指向Y轴(黄色),中指向手心方向歪曲90度表示Z轴(蓝色),同时Z轴也是物体前进方向,下图表示Unity的四种坐标系: 其中GUI和Screen的单位是像素单位,什么是像素单位呢,这里可以先了解一下像素相关知识: 像素:简单地来说,可以理解成一个方块,它是图像的最小单元,不能再分割,但它并没有固定的大小. 屏幕分辨率:指的是由像素组成的点阵,比如说一台电脑的屏幕分辨率为1920*1080,那么该电脑屏幕在横向有1…
Unity 使用的是左手坐标系…