三维向量 (Vector3)
# 三维向量 (Vector3)
### Vector3 对象的构成:
```lua
local vector3 = setmetatable({x, y, z}, {...functions})
```
所以可以直接使用 `vector3.x`, `vector3.y`, `vector3.z` 来获取对象内部的值。
---
### Vector3 对象中的方法:
#### :Length
`vector_object:Length()` => 数字
返回向量的三维大小。
`sqrt( pow(x, 2) + pow(y, 2) + pow(z, 2) )`
---
#### :LengthSqr
`vector_object:LengthSqr()` => 数字
返回向量的平方三维大小。
`pow(x, 2) + pow(y, 2) + pow(z, 2)`
---
#### :Length2D
`vector_object:Length2D()` => 数字
返回向量的二维大小。
`sqrt( pow(x, 2) + pow(y, 2) )`
---
#### :Length2DSqr
`vector_object:Length2DSqr()` => 数字
返回向量的平方二维大小。
`pow(x, 2) + pow(y, 2)`
---
#### :Dot
`vector_object:Dot(Vector3: Vector3(类))` => [**Vector3 (类)**](doc:cQ9pAMn4)
参数 | 类型 | 介绍
-------- | ---- | -----------
**Vector3** | Vector3(类) | 要进行运算的三维向量
返回两个向量的点积。
---
#### :Cross
`vector_object:Cross(Vector3: Vector3(类))` => [**Vector3 (类)**](doc:cQ9pAMn4)
参数 | 类型 | 介绍
-------- | ---- | -----------
**Vector3** | Vector3(类) | 要进行运算的三维向量
返回两个向量的向量积。
---
#### :Clear
`vector_object:Clear()` => [**Vector3 (类)**](doc:cQ9pAMn4)
清空该向量。
---
#### :Normalize
`vector_object:Normalize()` => [**Vector3 (类)**](doc:cQ9pAMn4)
标准化该向量。
---
#### :Right
`vector_object:Right()` => [**Vector3 (类)**](doc:cQ9pAMn4)
分离该向量的向右作用分量。
---
#### :Up
`vector_object:Up()` => [**Vector3 (类)**](doc:cQ9pAMn4)
分离该向量的向上作用分量。
---
#### :Angles
`vector_object:Angles()` => [**EulerAngles (类)**](doc:g3sER7An)
分离该向量的欧拉角。
---