Module beamui.core.linalg

Linear algebra: vectors and matrices.

Import line

import beamui.core.linalg;

Functions

NameDescription
crossProduct(a, b) Cross product of two Vec2 is a scalar in Z axis
crossProduct(a, b) 3D cross product
dotProduct(a, b) Dot product (sum of by-component products of vector components)
intersectVectors(p1, dir1, p2, dir2) Find intersection point for two vectors with start points p1, p2 and normalized directions dir1, dir2.
triangleNormal(p1, p2, p3) Calculate normal for triangle

Structs

NameDescription
Mat2x3 Row-major 2x3 floating point matrix, used for 2D affine transformations. Zero by default.
Mat4x4 Row-major 4x4 floating point matrix. Zero by default.
Vector 2-4-dimensional vector

Aliases

NameTypeDescription
Vec2 Vector!(float,2)
Vec2d Vector!(double,2)
Vec2i Vector!(int,2)
Vec3 Vector!(float,3)
Vec3d Vector!(double,3)
Vec3i Vector!(int,3)
Vec4 Vector!(float,4)
Vec4d Vector!(double,4)
Vec4i Vector!(int,4)