Triangle - Руководство по Вердж3Д - Софт Эйт Софт
Description: Узнайте как использовать Triangle в интерактивных 3Д-веб-приложениях сделанных на Вердж3Д

# Triangle

Геометрический треугольник, определяемый тремя векторами, соответствующие его углам.

## Конструктор

### Triangle(a : Vector3, b : Vector3, c : Vector3)

- a — первый угол треугольника. По умолчанию Vector3 с координатами `(0, 0, 0)`.
- b — второй угол треугольника. По умолчанию Vector3 с координатами `(0, 0, 0)`.
- c — последний угол треугольника. По умолчанию Vector3 с координатами `(0, 0, 0)`.

Создает новый Triangle.

## Свойства

### # .a : Vector3

Первый угол треугольника. По умолчанию Vector3 с координатами `(0, 0, 0)`.

### # .b : Vector3

Второй угол треугольника. По умолчанию Vector3 с координатами `(0, 0, 0)`.

### # .c : Vector3

Последний угол треугольника. По умолчанию Vector3 с координатами `(0, 0, 0)`.

## Методы

### # .clone() → Triangle

Возвращает новый треугольник с теми же свойствами a, b и c, что и текущий.

### # .closestPointToPoint(point : Vector3, target : Vector3) → Vector3

- point — Vector3.
- target — результат будет скопирован в этот Vector3.

Возвращает точку на треугольнике, ближайшую к указанной точке.

### # .containsPoint(point : Vector3) → Boolean

point - Vector3 для проверки.

Возвращает `true`, если переданная точка, спроецированная на плоскость треугольника, лежит внутри треугольника.

### # .copy(triangle : Triangle) → Triangle

Копирует значения свойств a, b и c переданного треугольника в текущий треугольник.

### # .equals(triangle : Triangle) → Boolean

Возвращает `true`, если два треугольника имеют одинаковые свойства a, b и c.

### # .getArea() → Float

Возвращает площадь треугольника.

### # .getBarycoord(point : Vector3, target : Vector3) → Vector3

- point — Vector3.
- target — результат будет скопирован в этот Vector3.

Возвращает барицентрические координаты заданного вектора.

### # .getMidpoint(target : Vector3) → Vector3

target — результат будет скопирован в этот Vector3.

Вычисляет среднюю точку треугольника.

### # .getNormal(target : Vector3) → Vector3

target — результат будет скопирован в этот Vector3.

Вычисляет вектор нормали треугольника.

### # .getPlane(target : Plane) → Plane

target — результат будет скопирован в эту плоскость.

Вычисляет плоскость на основе треугольника.

### # .getUV(point : Vector3, uv1 : Vector2, uv2 : Vector2, uv3 : Vector2, target : Vector2) → Vector2

- point — точка на треугольнике.
- uv1 — uv-координата первой точки треугольника.
- uv2 — uv-координата второй точки треугольникаx.
- uv3 — uv-координата третьей точки треугольника.
- target — вектор для сохранения результата.

Возвращает UV-координаты указанной точки на треугольнике.

### # .intersectsBox(box : Box3) → Boolean

box — куб для проверки пересечения.

Определяет, пересекает ли текущий треугольник указанный кубоид.

### # .isFrontFacing(direction : Vector3) → Boolean

direction — направление для проверки.

Проверяет, направлен ли треугольник в указанном направлении.

### # .set(a : Vector3, b : Vector3, c : Vector3) → Triangle this : Triangle

Устанавливает свойства a, b и c треугольника из указанных векторов. Обратите внимание, что этот метод только копирует значения из заданных объектов.

### # .setFromAttributeAndIndices(attribute : BufferAttribute, i0 : Integer, i1 : Integer, i2 : Integer) → this this : Triangle

- attribute — вертексный атрибут.
- i0 — Integer индекс.
- i1 — Integer индекс.
- i2 — Integer индекс.

Устанавливает углы треугольника на основе данных вертексного атрибута.

### # .setFromPointsAndIndices(points : Array, i0 : Integer, i1 : Integer, i2 : Integer) → Triangle this : Triangle

- points — массив векторов.
- i0 — Integer индекс.
- i1 — Integer индекс.
- i2 — Integer индекс.

Устанавливает углы треугольника на основе векторов из указанного массива.

## Исходный файл

О том как получить исходный код этого модуля читайте тут.