Packagelaya.d3.math
Classpublic class Vector3
InheritanceVector3 Inheritance Object
Implements laya.d3.core.IClone

Vector3 类用于创建三维向量。



Public Properties
 PropertyDefined By
  elements : Float32Array
三维向量元素数组
Vector3
  x : Number
获取X轴坐标。
Vector3
  y : Number
获取Y轴坐标。
Vector3
  z : Number
获取Z轴坐标。
Vector3
Public Methods
 MethodDefined By
  
Vector3(x:Number = 0, y:Number = 0, z:Number = 0)
创建一个 Vector3 实例。
Vector3
  
add(a:Vector3, b:Vector3, out:Vector3):void
[static] 求两个三维向量的和。
Vector3
  
Clamp(value:Vector3, min:Vector3, max:Vector3, out:Vector3):void
[static] 求一个指定范围的向量
Vector3
  
clone():*
克隆。
Vector3
  
cloneTo(destObject:*):void
克隆。
Vector3
  
[static] 求两个三维向量的叉乘。
Vector3
  
distance(value1:Vector3, value2:Vector3):Number
[static] 两个三维向量距离。
Vector3
  
distanceSquared(value1:Vector3, value2:Vector3):Number
[static] 两个三维向量距离的平方。
Vector3
  
dot(a:Vector3, b:Vector3):Number
[static] 求两个三维向量的点积。
Vector3
  
equals(a:Vector3, b:Vector3):Boolean
[static] 判断两个三维向量是否相等。
Vector3
  
lerp(a:Vector3, b:Vector3, t:Number, out:Vector3):void
[static] 插值三维向量。
Vector3
  
max(a:Vector3, b:Vector3, out:Vector3):void
[static] 分别取两个三维向量x、y、z的最大值计算新的三维向量。
Vector3
  
min(a:Vector3, b:Vector3, out:Vector3):void
[static] 分别取两个三维向量x、y、z的最小值计算新的三维向量。
Vector3
  
[static] 计算两个三维向量的乘积。
Vector3
  
[static] 归一化三维向量。
Vector3
  
[static] 计算标量长度。
Vector3
  
[static] 计算标量长度。
Vector3
  
scale(a:Vector3, b:Number, out:Vector3):void
[static] 缩放三维向量。
Vector3
  
[static] 求两个三维向量的差。
Vector3
  
toDefault():void
Vector3
  
transformCoordinate(coordinate:Vector3, transform:Matrix4x4, result:Vector3):void
[static] 通过矩阵转换一个三维向量到另外一个归一化的三维向量。
Vector3
  
TransformNormal(normal:Vector3, transform:Matrix4x4, result:Vector3):void
[static] 通过法线矩阵转换一个法线三维向量到另外一个三维向量。
Vector3
  
transformQuat(source:Vector3, rotation:Quaternion, out:Vector3):void
[static] 根据四元数旋转三维向量。
Vector3
  
transformV3ToV3(vector:Vector3, transform:Matrix4x4, result:Vector3):void
[static] 通过矩阵转换一个三维向量到另外一个三维向量。
Vector3
  
transformV3ToV4(vector:Vector3, transform:Matrix4x4, result:Vector4):void
[static] 通过矩阵转换一个三维向量到另外一个四维向量。
Vector3
Public Constants
 ConstantDefined By
  ForwardLH : Vector3
[static] 左手坐标系统前向量,禁止修改
Vector3
  ForwardRH : Vector3
[static] 右手坐标系统前向量,禁止修改
Vector3
  NegativeUnitX : Vector3
[static] X轴单位向量,禁止修改
Vector3
  ONE : Vector3
[static] 一向量,禁止修改
Vector3
  UnitX : Vector3
[static] X轴单位向量,禁止修改
Vector3
  UnitY : Vector3
[static] Y轴单位向量,禁止修改
Vector3
  UnitZ : Vector3
[static] Z轴单位向量,禁止修改
Vector3
  Up : Vector3
[static] 上向量,禁止修改
Vector3
  ZERO : Vector3
[static] 零向量,禁止修改
Vector3
Property Detail
elementsproperty
public var elements:Float32Array

三维向量元素数组

xproperty 
x:Number

获取X轴坐标。


Implementation
    public function get x():Number
    public function set x(value:Number):void
yproperty 
y:Number

获取Y轴坐标。


Implementation
    public function get y():Number
    public function set y(value:Number):void
zproperty 
z:Number

获取Z轴坐标。


Implementation
    public function get z():Number
    public function set z(value:Number):void
Constructor Detail
Vector3()Constructor
public function Vector3(x:Number = 0, y:Number = 0, z:Number = 0)

创建一个 Vector3 实例。

Parameters
x:Number (default = 0) — X轴坐标。
 
y:Number (default = 0) — Y轴坐标。
 
z:Number (default = 0) — Z轴坐标。
Method Detail
add()method
public static function add(a:Vector3, b:Vector3, out:Vector3):void

求两个三维向量的和。

Parameters

a:Vector3 — left三维向量。
 
b:Vector3 — right三维向量。
 
out:Vector3 — 输出向量。

Clamp()method 
public static function Clamp(value:Vector3, min:Vector3, max:Vector3, out:Vector3):void

求一个指定范围的向量

Parameters

value:Vector3 — clamp向量
 
min:Vector3 — 最小
 
max:Vector3 — 最大
 
out:Vector3 — 输出向量

clone()method 
public function clone():*

克隆。

Returns
* — 克隆副本。
cloneTo()method 
public function cloneTo(destObject:*):void

克隆。

Parameters

destObject:* — 克隆源。

cross()method 
public static function cross(a:Vector3, b:Vector3, o:Vector3):void

求两个三维向量的叉乘。

Parameters

a:Vector3 — left向量。
 
b:Vector3 — right向量。
 
o:Vector3 — 输出向量。

distance()method 
public static function distance(value1:Vector3, value2:Vector3):Number

两个三维向量距离。

Parameters

value1:Vector3 — 向量1。
 
value2:Vector3 — 向量2。

Returns
Number — 距离。
distanceSquared()method 
public static function distanceSquared(value1:Vector3, value2:Vector3):Number

两个三维向量距离的平方。

Parameters

value1:Vector3 — 向量1。
 
value2:Vector3 — 向量2。

Returns
Number — 距离的平方。
dot()method 
public static function dot(a:Vector3, b:Vector3):Number

求两个三维向量的点积。

Parameters

a:Vector3 — left向量。
 
b:Vector3 — right向量。

Returns
Number — 点积。
equals()method 
public static function equals(a:Vector3, b:Vector3):Boolean

判断两个三维向量是否相等。

Parameters

a:Vector3 — 三维向量。
 
b:Vector3 — 三维向量。

Returns
Boolean — 是否相等。
lerp()method 
public static function lerp(a:Vector3, b:Vector3, t:Number, out:Vector3):void

插值三维向量。

Parameters

a:Vector3 — left向量。
 
b:Vector3 — right向量。
 
t:Number — 插值比例。
 
out:Vector3 — 输出向量。

max()method 
public static function max(a:Vector3, b:Vector3, out:Vector3):void

分别取两个三维向量x、y、z的最大值计算新的三维向量。

Parameters

a:Vector3 — a三维向量。
 
b:Vector3 — b三维向量。
 
out:Vector3 — 结果三维向量。

min()method 
public static function min(a:Vector3, b:Vector3, out:Vector3):void

分别取两个三维向量x、y、z的最小值计算新的三维向量。

Parameters

a:Vector3
 
b:Vector3
 
out:Vector3

multiply()method 
public static function multiply(a:Vector3, b:Vector3, out:Vector3):void

计算两个三维向量的乘积。

Parameters

a:Vector3 — left三维向量。
 
b:Vector3 — right三维向量。
 
out:Vector3 — 输出三维向量。

normalize()method 
public static function normalize(s:Vector3, out:Vector3):void

归一化三维向量。

Parameters

s:Vector3 — 源三维向量。
 
out:Vector3 — 输出三维向量。

scalarLength()method 
public static function scalarLength(a:Vector3):Number

计算标量长度。

Parameters

a:Vector3 — 源三维向量。

Returns
Number — 标量长度。
scalarLengthSquared()method 
public static function scalarLengthSquared(a:Vector3):Number

计算标量长度。

Parameters

a:Vector3 — 源三维向量。

Returns
Number — 标量长度的平方。
scale()method 
public static function scale(a:Vector3, b:Number, out:Vector3):void

缩放三维向量。

Parameters

a:Vector3 — 源三维向量。
 
b:Number — 缩放值。
 
out:Vector3 — 输出三维向量。

subtract()method 
public static function subtract(a:Vector3, b:Vector3, o:Vector3):void

求两个三维向量的差。

Parameters

a:Vector3 — left三维向量。
 
b:Vector3 — right三维向量。
 
o:Vector3 — out 输出向量。

toDefault()method 
public function toDefault():void

transformCoordinate()method 
public static function transformCoordinate(coordinate:Vector3, transform:Matrix4x4, result:Vector3):void

通过矩阵转换一个三维向量到另外一个归一化的三维向量。

Parameters

coordinate:Vector3 — 源三维向量。
 
transform:Matrix4x4 — 变换矩阵。
 
result:Vector3 — 输出三维向量。

TransformNormal()method 
public static function TransformNormal(normal:Vector3, transform:Matrix4x4, result:Vector3):void

通过法线矩阵转换一个法线三维向量到另外一个三维向量。

Parameters

normal:Vector3 — 源法线三维向量。
 
transform:Matrix4x4 — 法线变换矩阵。
 
result:Vector3 — 输出法线三维向量。

transformQuat()method 
public static function transformQuat(source:Vector3, rotation:Quaternion, out:Vector3):void

根据四元数旋转三维向量。

Parameters

source:Vector3 — 源三维向量。
 
rotation:Quaternion — 旋转四元数。
 
out:Vector3 — 输出三维向量。

transformV3ToV3()method 
public static function transformV3ToV3(vector:Vector3, transform:Matrix4x4, result:Vector3):void

通过矩阵转换一个三维向量到另外一个三维向量。

Parameters

vector:Vector3 — 源三维向量。
 
transform:Matrix4x4 — 变换矩阵。
 
result:Vector3 — 输出三维向量。

transformV3ToV4()method 
public static function transformV3ToV4(vector:Vector3, transform:Matrix4x4, result:Vector4):void

通过矩阵转换一个三维向量到另外一个四维向量。

Parameters

vector:Vector3 — 源三维向量。
 
transform:Matrix4x4 — 变换矩阵。
 
result:Vector4 — 输出四维向量。

Constant Detail
ForwardLHConstant
public static const ForwardLH:Vector3

左手坐标系统前向量,禁止修改

ForwardRHConstant 
public static const ForwardRH:Vector3

右手坐标系统前向量,禁止修改

NegativeUnitXConstant 
public static const NegativeUnitX:Vector3

X轴单位向量,禁止修改

ONEConstant 
public static const ONE:Vector3

一向量,禁止修改

UnitXConstant 
public static const UnitX:Vector3

X轴单位向量,禁止修改

UnitYConstant 
public static const UnitY:Vector3

Y轴单位向量,禁止修改

UnitZConstant 
public static const UnitZ:Vector3

Z轴单位向量,禁止修改

UpConstant 
public static const Up:Vector3

上向量,禁止修改

ZEROConstant 
public static const ZERO:Vector3

零向量,禁止修改