Zum Hauptinhalt springen

Mathe

Beschreibung

Diese Bibliothek enthält Typen und Funktionen, die verschiedene Arten von Mathematik behandeln.

Kompatibilität

Die Typen in ecs.math repräsentieren weit verbreitete Paradigmen und können leicht mit anderen Bibliotheken verknüpft werden.

drei.js

Die Typen in ecs.math können in und aus den entsprechenden three.js-Mathe-Typen THREE.Vector3, THREE.Quaternion und THREE.Matrix4 konvertiert werden, indem Sie die folgenden Beispiele befolgen.

const {mat4, quat, vec3} = ecs.math

// Vec3 <--> THREE.Vector3
const v3js = new THREE.Vector3()
const v = vec3.zero()

v3js.copy(v) // Setzen eines THREE.Vector3 aus einem Vec3.
v.setFrom(v3js) // Einen Vec3 aus einem THREE.Vector3 setzen.
const v2 = vec3.from(v3js) // Neuen Vec3 aus einem THREE.Vector3 erzeugen.

// Quat <--> THREE.Quaternion
const q3js = new THREE.Quaternion()
const q = quat.zero()

q3js.copy(q) // Ein THREE.Quaternion aus einem Quat setzen.
q.setFrom(q3js) // Ein Quat aus einem THREE.Quaternion setzen.
const q2 = quat.from(q3js) // Neues Quat aus einem THREE.Quaternion erzeugen.

// Mat4 <--> THREE.Matrix4
const m3js = new THREE.Matrix4()
const m = mat4.i()

m3js.fromArray(m.data()) // Setzen einer THREE.Matrix4 aus einer Mat4.
m.set(m3js.elements) // Setzt eine Mat4 aus einer THREE.Matrix4.
const m2 = mat4.of(m3js.elements) // Erstellt eine neue Mat4 aus einer THREE.Matrix4