vector/de

From Minetest Developer Wiki
Jump to: navigation, search

Tabelle, {x =, y =, z =}

Wird sowohl als Position als auch als Offset in der Minetest API verwendet. Es gibt einige Hilfsfunktionen, die mit Vektoren arbeiten:

These functions act on the vector (position) type.

Function Return value Comments
vector.new([x, [y, z]]) vector x can be either be a vector or the position x of the new vector (requires x and y to be set too)
vector.direction(p1, p2) vector direction from p1 to p2, maximal values are: {x=-1,y=-1,z=-1} and {x=1,y=1,z=1}
vector.distance(p1, p2) number same as vector.length(vector.subtract(p2, p1))
vector.length(v) number
vector.normalize(v) vector
vector.round(v) vector same as vector.apply(v, function(c) return math.floor(c + 0.5) end)
vector.equals(v1, v2) bool
vector.add(v, x) vector x can be either a vector or a number.
vector.subtract(v, x) vector x can be either a vector or a number.

same as vector.add(v, -x) or vector.add(v, vector.multiply(x, -1))

vector.multiply(v, x) vector x can be either a vector or a number.
vector.divide(v, x) vector x can be either a vector or a number.

Coordinate System

Linke-Hand Koordinaten System(x=rot,y=grün,z=blue)

Minetest verwendet ein linkshändiges Koordinatensystem. Im Weltkoordinatensystem liegt die x-Richtung nach Osten (entsprechend dem Sonnenaufgang), die y-Richtung nach oben und die z-Richtung nach Norden. Im Spieler/Kamera-Koordinatensystem (verwendet z.B. von Player:set_eye_offset() ist die x-Richtung rechts, die y-Richtung oben und die z-Richtung vorne.


Interessanterweise ist die Drehrichtung (wie von Player:get_look_yaw() berichtet, rechtshändig. Der Winkel 0 befindet sich in x-Richtung (Ost), π/2 in z-Richtung (Nord), π in -x-Richtung (West) und 3π/2 in -z- Richtung (Süd).

Personal tools
Namespaces

Variants
Actions
Navigation
API
Toolbox