Difference between revisions of "Vector (API)"

From ComputerCraft Wiki
Jump to: navigation, search
Line 47: Line 47:
 
  local a = vector.new(gps.locate())
 
  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.
+
Vectors act much like tables, storing the coordinate data with labels "x", "y" and "z".  By using vectors in a program, code can be cleaner and easier to follow by making use of this API.

Revision as of 15:22, 23 February 2013

The vector API provides methods to create and manipulate vectors.

An introduction to vectors can be found on Wikipedia.

Grid disk.png   Vector (API)

Method NameDescription
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". By using vectors in a program, code can be cleaner and easier to follow by making use of this API.