Zum Inhalt

vec4

Quelle: base/tealdef/scripts/vec4.d.tl

Hinweise

Typen der reinen Lua-Bibliothek für 4D-Vektoren /scripts/vec4.tl (Vec4Serialized). mat4 verwendet diese Vektoren als Matrixspalten. Du lädst sie mit local vec4 = ug_require "/scripts/vec4.tl" as Vec4Serialized.

Vec4iSerialized

record global base/tealdef/scripts/vec4.d.tl:3

global record Vec4iSerialized

Hinweise

Namensraum des ganzzahligen 4D-Vektortyps Vec4i.

Vec4iSerialized.Vec4i

record base/tealdef/scripts/vec4.d.tl:4

record Vec4i

Hinweise

4D-Vektor mit ganzzahligen Komponenten als einfache Tabelle {x = ..., y = ..., z = ..., w = ...}.

Felder

Name Typ Beschreibung
x integer X-Komponente.
y integer Y-Komponente.
z integer Z-Komponente.
w integer W-Komponente.

Vec4Serialized

record global base/tealdef/scripts/vec4.d.tl:12

global record Vec4Serialized

Laden: local vec4 = require "::/scripts/vec4.tl" as Vec4Serialized

Hinweise

Die 4D-Vektorbibliothek, die ug_require "/scripts/vec4.tl" zurückgibt, und der Namensraum ihres Typs Vec4.

Funktionen

new(x : number, y : number, z : number, w : number) : Vec4 base/tealdef/scripts/vec4.d.tl:27

Aufruf: vec4.new(…)

Hinweise

Erzeugt einen 4D-Vektor mit Rechenoperatoren.

Parameter Typ Beschreibung
x number X-Komponente.
y number Y-Komponente.
z number Z-Komponente.
w number W-Komponente.

Rückgabe Vec4: Der neue Vektor.

Im Basisspiel verwendet: 94-mal in 4 Dateien

base/content/scripts/scripts/mat4.tl:10

vec4.new(m1[1] + m2[1], m1[2] + m2[2], m1[3] + m2[3], m1[4] + m2[4]),
base/content/stations/air/air/airport/airport_modules.script.lua:16
local center = transf.gemv(transform, vec4.new(20.0, 0.0, -1.0, 1.0))
base/content/stations/street/street/modular_street_station/modules.script.lua:105
local tng = vec4.toArray(transf.gemv(transform, vec4.new(0.0, -20.0, 0.0, 0.0)))
base/content/stations/water/water/modules.script.lua:843
local entry = vec4.new(25, 0, 0, 1)

add(v1 : Vec4, v2 : Vec4) : Vec4 base/tealdef/scripts/vec4.d.tl:29

Aufruf: vec4.add(…)

Hinweise

Gibt v1 + v2 zurück.

Rückgabe Vec4

sub(v1 : Vec4, v2 : Vec4) : Vec4 base/tealdef/scripts/vec4.d.tl:30

Aufruf: vec4.sub(…)

Hinweise

Gibt v1 - v2 zurück.

Rückgabe Vec4

mul(f : number, v : Vec4) : Vec4 base/tealdef/scripts/vec4.d.tl:31

Aufruf: vec4.mul(…)

Hinweise

Gibt den Vektor v mit der Zahl f skaliert zurück.

Rückgabe Vec4

div(v : Vec4, d : number) : Vec4 base/tealdef/scripts/vec4.d.tl:32

Aufruf: vec4.div(…)

Hinweise

Gibt den Vektor v zurück, jede Komponente durch d geteilt.

Rückgabe Vec4

toArray(v : Vec4) : Table4 base/tealdef/scripts/vec4.d.tl:37

Aufruf: vec4.toArray(…)

Convert vector to an array of four numbers.

Parameter Typ Beschreibung
v Vec4 vector

Rückgabe Table4: array with x, y, z, w components

Im Basisspiel verwendet: 21-mal in 1 Datei

base/content/stations/street/street/modular_street_station/modules.script.lua:105

local tng = vec4.toArray(transf.gemv(transform, vec4.new(0.0, -20.0, 0.0, 0.0)))

fromArray(t : Table4) : Vec4 base/tealdef/scripts/vec4.d.tl:41

Aufruf: vec4.fromArray(…)

Create vector from an array of four numbers.

Parameter Typ Beschreibung
t Table4 array with x, y, z, w components

Rückgabe Vec4: vector

print(v : Vec4) : string base/tealdef/scripts/vec4.d.tl:46

Aufruf: vec4.print(…)

Convert vector to a string representation.

Parameter Typ Beschreibung
v Vec4 vector

Rückgabe string: string representation

Vec4Serialized.Table4

record base/tealdef/scripts/vec4.d.tl:13

record Table4 is {number}

of lenght 4

Im Basisspiel verwendet: 2-mal in 1 Datei

base/content/scripts/scripts/vec4.tl:32

vec4_util.toArray = function(v : Vec4Serialized.Vec4) : Vec4Serialized.Table4

Vec4Serialized.Vec4

record base/tealdef/scripts/vec4.d.tl:15

record Vec4

Hinweise

4D-Vektor als einfache Tabelle {x = ..., y = ..., z = ..., w = ...} mit Rechenoperatoren. mat4.new nimmt vier davon als Matrixspalten.

Im Basisspiel verwendet: 32-mal in 2 Dateien

base/content/scripts/scripts/mat4.tl:6

mat4_util.new = function(col1 : Vec4Serialized.Vec4, col2 : Vec4Serialized.Vec4, col3 : Vec4Serialized.Vec4, col4 : Vec4Serialized.Vec4) : Mat4Serialized.Mat4
base/content/scripts/scripts/vec4.tl:3
vec4_util.new = function(x : number, y : number, z : number, w : number) : Vec4Serialized.Vec4

Felder

Name Typ Beschreibung
x number X-Komponente.
y number Y-Komponente.
z number Z-Komponente.
w number W-Komponente (mit mat4.gemv 1 für Punkte und 0 für Richtungen).

Funktionen

metamethod __add(v1 : Vec4, v2 : Vec4) : Vec4 base/tealdef/scripts/vec4.d.tl:21

Hinweise

Komponentenweise Summe v1 + v2.

Rückgabe Vec4

metamethod __sub(v1 : Vec4, v2 : Vec4) : Vec4 base/tealdef/scripts/vec4.d.tl:22

Hinweise

Komponentenweise Differenz v1 - v2.

Rückgabe Vec4

metamethod __mul(f : number, v : Vec4) : Vec4 base/tealdef/scripts/vec4.d.tl:23

Hinweise

Multiplikation mit einem Skalar, f * v. Die Zahl muss links stehen.

Rückgabe Vec4

metamethod __div(v : Vec4, d : number) : Vec4 base/tealdef/scripts/vec4.d.tl:24

Hinweise

Teilt jede Komponente durch eine Zahl, v / d.

Rückgabe Vec4