Векторы и кватернионы

Что входит

Базовые операции

var a = new FVector3(1, 2, 3);
var b = new FVector3(4, 0, -1);
var n = FVector3.Normalize(a + b);
var dot = FVector3.Dot(a, b);
var cross = FVector3.Cross(a, b);
var refl = a.Reflect(FVector3.UnitY);

Кватернионы

var q = new FQuaternion(FVector3.UnitY, MathF.PI * 0.5f); // ось + угол в радианах
var rotated = new FVector3(1, 0, 0) * q; // поворот вектора через умножение
var swing = FQuaternion.Slerp(FQuaternion.Identity, q, 0.25f); // плавная интерполяция
var root = FQuaternion.Pow(q, 0.5f); // «корень» от поворота через Exp/Log/Pow

Что есть в API: Length/LengthSquared, Сonjugate, Inverse, линейная Lerp, сферическая Slerp, а также Exp/Log/Pow для работы в логарифмическом пространстве. Все интерполяции ожидают нормализованные кватернионы, при необходимости приведите длину вручную (var n = q.Length; var qn = new FQuaternion(q.X / n, q.Y / n, q.Z / n, q.W / n);).

Практика


© 2026 Igdrasil Project. Все права защищены.