首页 > 编程知识 正文

unity 坐标系,unity世界坐标系

时间:2023-05-03 21:30:17 阅读:191842 作者:3549

内容提要 unity3d坐标系向量运算 unity3d坐标系 *3d坐标系分为两种,分别是左手坐标系和右手坐标系。u3d使用的是左手坐标系*。通常3d坐标系中x轴右侧代表水平正方形,y轴为垂直正方向向上,z轴分为向里和向外两种,正方向向里的是左手坐标系,向外的是右手坐标系。左手坐标系,拇指指向x正方向,食指指向y正方向,中指指向里面为z轴正方向

向量运算

加法
Vector3 a = new Vector3(0, 1, 1);
Vector3 b = new Vector3(1, 2, 3);
Vector3 c = a + b = (0+1,1+2,1+4)=1,3,4;
几何意义

减法
Vector3 a = new Vector3(0, 1, 1);
Vector3 b = new Vector3(1, 2, 3);
Vector3 c = a + b = (0-1,1-2,14)=-1,-1,-2;
几何意义

点乘Dot
点乘用来计算两个向量的朝向的相似度,计算点乘的向量需要单位化,得到的结果是两个向量的cos值,在-1到1之间的浮点数,-1表示朝向相反,1表示朝向相同,0表示两个向量相互垂直

表征或计算两个向量之间的夹角b向量在a向量方向上的投影积,当a是单位向量时,内积意义是投影。当a是直线L的单位法向量时,计算b终点到L的距离 private void Dot(Vector3 a, Vector3 b) { float c = Vector3.Dot(a.normalized, b.normalized); Debug.Log($"Dot={c}"); } 叉乘Cross private void Cross(Vector3 a, Vector3 b) { Vector3 c = Vector3.Cross(a, b); Debug.Log($"Cross={c}"); } 叉乘的得到一个向量,这个向量垂直于向量a和向量b所组成的平面,用于计算法向量1. 通过两个向量的外积,生成第三个垂直于a,b的法向量,从而构建X、Y、Z坐标系;2. 当a是单位向量时,计算b终点到a所在直线的距离3. 在二维空间中,aXb等于由向量a和向量b构成的平行四边形的面积 Angle
用于计算两个向量之间的夹角 private void Angle(Vector3 a, Vector3 b) { float c = Vector3.Angle(b, a); Debug.Log($"Angle={c}"); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。