Vector (API)
From ComputerCraft Wiki
The vector API provides methods to create and manipulate vectors.
An introduction to vectors can be found on Wikipedia.
Method Name | Description |
vector.new(float x, float y, float z) | Creates a vector. |
vectorA:add(vector vectorB) | Adds vectorB to vectorA and returns the resulting vector. Can also be used by writing vectorA + vectorB. |
vectorA:sub(vector vectorB) | Subtracts vectorB from vectorA and returns the resulting vector. Can also be used by writing vectorA - vectorB. |
vectorA:mul(float n) | Scalar multiplies vectorA with n and returns the resulting vector. Can also be used by writing vectorA * n. |
vectorA:dot(vector vectorB) | Returns the dot product of vectorA and vectorB. |
vectorA:cross(vector vectorB) | Returns the vector which resulted in the cross product of vectorA and vectorB. |
vectorA:length() | Returns the vector's length. |
vectorA:normalize() | Normalizes the vector and returns the result as a new vector. |
vectorA:round() | Rounds the vector coordinates to the nearest integers and returns the result as a new vector. |
vectorA:tostring() | Returns a string representation of the vector in the form of "x,y,z". |
Among other things, vectors can be useful to aid in creating navigation algorithms using GPS coordinates. To transform GPS quickly into vector format, simply use:
local a = vector.new(gps.locate())
Vectors act much like tables, storing the coordinate data with labels "x", "y" and "z". However, by using vectors in a program code can be cleaner and easier to follow by making use of the API functions.