Unnamed Page

title: IgdrasilMath Documentation description: Полная документация по IgdrasilMath order: 1

Обзор

IgdrasilMath — модуль линейной алгебры и геометрии для Igdrasil Engine. Включает векторную и матричную математику (Half/float/double/int/long), кватернионы, боксы (AABB), линии/лучи, кривые Безье и Catmull-Rom, шумы Perlin, утилиты пересечений и интерполяций. Все типы сериализуемы и готовы к использованию в Editor.

Пространства имён

Ключевые возможности

Быстрый старт

using IgdrasilEngine.Engine.Math;
using IgdrasilEngine.Engine.Math.Vectors;
using IgdrasilEngine.Engine.Math.Matrices;

// Векторная арифметика
var a = new FVector3(1, 2, 3);
var b = new FVector3(4, 0, -1);
var n = FVector3.Normalize(a + b);
var refl = a.Reflect(new FVector3(0, 1, 0));

// Матрицы: построение TRS
var translation = FMatrix4x4.CreateTranslation(0, 1, 0);
var rotation = FMatrix4x4.CreateFromQuaternion(FQuaternion.CreateFromAxisAngle(FVector3.UnitY, MathF.PI * 0.5f));
var scale = FMatrix4x4.CreateScale(2.0f);
var world = scale * rotation * translation;

// Применение к точке
var p = new FVector3(1, 0, 0);
var transformed = new FVector3(world * new FVector4(p, 1));

Пересечения (ray/line vs AABB)

using IgdrasilEngine.Engine.Math;
using IgdrasilEngine.Engine.Math.Boxes;

order: 0
var hits = MathUtils.Intersection(ray, box);
## Обзор

IgdrasilMath — модуль линейной алгебры и геометрии для Igdrasil Engine: векторы/матрицы (Half/float/double/int/long), кватернионы, AABB, лучи/отрезки, кривые (Bezier, Catmull-Rom), шумы Perlin и утилиты пересечений/интерполяций.

## Разделы
- [Векторы и кватернионы](vectors/) — FVector/DVector/HVector/IVector/LVector, кватернионы.
- [Матрицы](matrices/) — квадратные и прямоугольные матрицы, TRS и инверсия.
- [Коробки, линии и лучи](boxes-and-lines/) — AABB, пересечения линий и лучей.
- [Кривые](curves/) — Bezier, Catmull-Rom, точки и касательные.
- [Шумы](noise/) — Perlin и фрактальные вариации.
- [Утилиты MathUtils](math-utils/) — Lerp/InverseLerp, отражения, пересечения.

## Быстрый старт

```csharp
using IgdrasilEngine.Engine.Math;
using IgdrasilEngine.Engine.Math.Vectors;
using IgdrasilEngine.Engine.Math.Matrices;

var a = new FVector3(1, 2, 3);
var b = new FVector3(4, 0, -1);
var n = FVector3.Normalize(a + b);

var world = FMatrix4x4.CreateScale(2f)
		   * FMatrix4x4.CreateFromQuaternion(FQuaternion.CreateFromAxisAngle(FVector3.UnitY, MathF.PI * 0.5f))
		   * FMatrix4x4.CreateTranslation(0, 1, 0);

var p = new FVector3(1, 0, 0);
var transformed = new FVector3(world * new FVector4(p, 1));

Где искать


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