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

# Sphere

Сфера, определяемая своими центром и радиусом.

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

### Sphere(center : Vector3, radius : Float)

- center — центр сферы. По умолчанию используется вектор `(0, 0, 0)`.
- radius — радиус сферы. По умолчанию `-1`.

Создает новую Sphere.

## Свойства

### # .center : Vector3

Vector3, определяющий центр сферы. По умолчанию `(0, 0, 0)`.

### # .radius : Float

Радиус сферы. По умолчанию равен `-1`.

## Методы

### # .applyMatrix4(matrix : Matrix4) → Sphere

matrix — матрица 4x4 для применения к сфере.

Преобразует текущую сферу с помощью предоставленной матрицы.

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

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

Ограничивает точку внутри сферы. Если точка находится вне сферы, то она будет закреплена в ближайшей точке на краю сферы. Точки, уже находящиеся внутри сферы, не будут затронуты.

### # .clone() → Sphere

Возвращает новую сферу с теми же center и radius, что и текущая.

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

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

Проверяет, содержит ли сфера указанную точку, учитывая также точки, расположенные на поверхности.

### # .copy(sphere : Sphere) → Sphere

Копирует значения свойств center и radius переданной сферы в эту сферу.

### # .distanceToPoint(point : Vector3) → Float

Возвращает ближайшее расстояние от границы сферы до точки Vector3. Если сфера содержит точку, расстояние будет отрицательным.

### # .expandByPoint(point : Vector3) → this

point — точка, которую должна охватывать сфера.

Расширяет границы сферы, чтобы включить указанную точку.

### # .isEmpty() → Boolean

Проверяет, пуста ли сфера (радиус установлен в отрицательное число). Сфера с радиусом `0` содержит свою центральную точку и поэтому не считается пустой.

### # .makeEmpty() → Sphere

Делает сферу пустой, устанавливая center в `(0, 0, 0)` и radius в `-1`.

### # .equals(sphere : Sphere) → Boolean

Проверяет, равны ли центры и радиусы двух сфер.

### # .getBoundingBox(target : Box3) → Box3

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

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

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

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

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

### # .intersectsPlane(plane : Plane) → Boolean

plane — плоскость для проверки пересечения.

Определяет, пересекает ли текущая сфера заданную плоскость.

### # .intersectsSphere(sphere : Sphere) → Boolean

sphere — сфера для проверки пересечения.

Проверяет, пересекаются ли две сферы.

### # .set(center : Vector3, radius : Float) → Sphere

- center — центр сферы.
- radius — радиус сферы.

Устанавливает свойства center и radius этой сферы.

### # .setFromPoints(points : Array, optionalCenter : Vector3) → Sphere

- points — массив из позиций Vector3.
- optionalCenter — необязательное положение центра сферы.

Вычисляет минимальную ограничивающую сферу для массива точек. Если задан optionalCenter, то он используется в качестве центра сферы. В противном случае используется центр выровненного по осям ограничивающего параллелепипеда, охватывающего точки.

### # .translate(offset : Vector3) → Sphere

Перемещает центр сферы на заданное смещение.

### # .union(sphere : Sphere) → this

sphere — сфера, которая будет объединена с текущей.

Расширяет текущую сферу, чтобы включить и текущую и указанную сферы.

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

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