Vector3 类简介
来源:互联网 发布:如何申请淘宝店铺 编辑:程序博客网 时间:2024/06/10 11:56
1、Vector3三维向量:表示3D的向量和点。包含位置、方向(朝向)、欧拉角的信息,也包含做些普通向量运算的函数。
2、Quaternion四元数,用于表示旋转,Unity内使用Quaternion表示所有旋转。在电脑图形学中用于表示物体的旋转,在unity中由x,y,z,w 表示四个值。四元数不会产生万向节死锁并且能够很容易被插值。
在Unity里,tranform组件有一个变量名为rotation,它的类型就是四元数。
3、欧拉角:用来确定定点转动刚体位置的3个一组独立角参量,用来表示旋转角度。
声明四元数:
Quaternion q1= this.transform.rotatiion;
q1 = this.transform.rotation;
声明Vector :
Vector v1 =new Vector3(0,0,0);
v1 = this.transform.eulerAngles; //Vector3的欧拉角
Vector v2 =new Vector3(0,0,0);
v2 = this.transform.position; //Vector3的位置;
Vector3.normalized 规范化
非静态属性; 返回值类型vector3 ; 返回向量与原向量方向相同的单位向量,若原向量太小则返回零向量;
Vector3.Normalize() 规范化
静态函数; 返回值类型void; 返回向量与原向量方向相同的单位向量,若原向量太小则返回零向量;
Vector3 v1 = this.transform.position.normalized;
Vector3 v2 = Vector3.Normalize(this.transform.position);
v1,v2是等价的。
vector3.magniude向量的长度
返回向量的长度,只有大小,没有方向,返回值类型为float 其实三维空间中的向量长度就是根号下(x*x+y*y+z*z)
Vector3.SqrMagnitude 向量的长度平方
常用于用于向量的比较,因为计算机求平方和开方比较消耗内存和时间。
Vector3 : Static Variables 静态变量
写Vector3(0, 0, -1)的简码。downShorthand for writing Vector3(0, -1, 0).
写Vector3(0, -1, 0)的简码。forwardShorthand for writing Vector3(0, 0, 1).
写Vector3(0, 0, 1)的简码,也就是向z轴。leftShorthand for writing Vector3(-1, 0, 0).
写Vector3(-1, 0, 0)的简码。oneShorthand for writing Vector3(1, 1, 1).
写Vector3(1, 1, 1)的简码。rightShorthand for writing Vector3(1, 0, 0).
写Vector3(1, 0, 0)的简码,也就是向x轴。upShorthand for writing Vector3(0, 1, 0).
写Vector3(0, 1, 0)的简码,也就是向y轴zeroShorthand for writing Vector3(0, 0, 0).
写Vector3(0, 0, 0)的简码。
Vector3.Distance() 距离
返回a和b之间的距离。
参数是两个 Vector3 类型
返回值类型 : float
Vector3.Distance(a,b) 等同于(a-b).magnitude.
Vecter3.Dot 点乘
两个向量的点乘积。 (向量数量积) 点积是一个浮点数的值:两个向量的长度(模)相乘再乘以他们之间夹角的余弦值.(即:|a|*|b|*cos<a,b>)
如果点乘的结果等于0,那么两个向量互相垂直。
如果结果大于0,那么两个向量的夹角小于90度,方向基本相同;
如果结果小于0,那么两个向量的夹角大于90度,方向基本相反。
Vector3.Cross 叉乘
两个向量的交叉乘积(外积)
它的结果是一个矢量。我们通常需要的是它的方向(Vector3.Cross(a.b).normalized)
得到一个分别垂直于这两个向量的向量
阅读全文
1 0
- Vector3 类简介
- Vector3类
- Vector3
- Vector3
- Vector3
- Vector3
- Vector3
- C++实现一个Vector3空间向量类
- 空间向量类Vector3的C++实现
- Vector3.normalized Vector3.normalize()
- Vector3.magnitude*vector3.up
- Vector3——简单的3D向量类
- Unity3D数学之路——Vector3类(一)
- Vector3 基础知识
- Vector3.Angle
- unity Vector3
- Vector3.Lerp
- Vector3.MoveTowards
- Android键盘面板冲突 布局闪动处理方案
- Cocos2d-js层的生命周期函数
- ObjectMapper--Jackson包中重要的Json转化方法
- Java程序的设计思想
- war包和jar包的区别
- Vector3 类简介
- 用css3的cursor:zoom-in/zoom-out实现微博看图片放大镜效果
- HDU 1042 A * B Problem Plus [FFT]
- PEP8 Python 编码规范
- 模板——Treap实现名次树
- 万能自定义RatingBar 用起来简单易理解
- Jmeter 压测和AB压测的比较
- Django学习笔记六:form表单实现评论(检验数据合法性)
- 测试Java_AbstractJavaSamplerClient