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

Curve → CurvePath →

# Path

Двумерное представление пути. Класс предоставляет методы для создания путей и контуров двумерных фигур, аналогичные API 2D Canvas.

## Пример

`const path = new v3d.Path(); path.lineTo(0, 0.8); path.quadraticCurveTo(0, 1, 0.2, 1); path.lineTo(1, 1); const points = path.getPoints(); const geometry = new v3d.BufferGeometry().setFromPoints(points); const material = new v3d.LineBasicMaterial({ color: 0xffffff }); const line = new v3d.Line(geometry, material); app.scene.add(line);`

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

### Path(points : Array)

points — (необ.) массив Vector2.

Создает контур из точек. Первая точка определяет смещение, затем последующие точки добавляются в массив curves как LineCurves.

Если точки не указаны, создается пустой контур, а .currentPoint устанавливается в начало координат.

## Свойства

Общие свойства смотрите в базовом классе CurvePath.

### # .currentPoint : Array

Текущее смещение контура. Любая новая добавленная Curve будет начинаться здесь.

## Методы

Общие методы смотрите в базовом классе CurvePath.

### # .absarc(x : Float, y : Float, radius : Float, startAngle : Float, endAngle : Float, clockwise : Boolean) → this

- x, y — абсолютный центр дуги.
- radius — радиус дуги.
- startAngle — начальный угол в радианах.
- endAngle — конечный угол в радианах.
- clockwise — развернуть дугу по часовой стрелке. По умолчанию `false`.

Добавляет абсолютно позиционированную EllipseCurve к пути.

### # .absellipse(x : Float, y : Float, xRadius : Float, yRadius : Float, startAngle : Float, endAngle : Float, clockwise : Boolean, rotation : Float) → this

- x, y — абсолютный центр эллипса.
- xRadius — радиус эллипса по оси x.
- yRadius — радиус эллипса по оси y.
- startAngle — начальный угол в радианах.
- endAngle — конечный угол в радианах.
- clockwise — развернуть эллипс по часовой стрелке. По умолчанию имеет значение `false`.
- rotation — угол поворота эллипса в радианах, против часовой стрелки от положительной оси X. Необязателен, по умолчанию равен 0.

Добавляет абсолютно позиционированную EllipseCurve к пути.

### # .arc(x : Float, y : Float, radius : Float, startAngle : Float, endAngle : Float, clockwise : Boolean) → this

- x, y — центр дуги, смещенный относительно последнего вызова.
- radius — радиус дуги.
- startAngle — начальный угол в радианах.
- endAngle — конечный угол в радианах.
- clockwise — развернуть дугу по часовой стрелке. По умолчанию `false`.

Добавляет EllipseCurve в контур, позиционированный относительно .currentPoint.

### # .bezierCurveTo(cp1X : Float, cp1Y : Float, cp2X : Float, cp2Y : Float, x : Float, y : Float) → this

Создает кривую Безье из .currentPoint с (cp1X, cp1Y) и (cp2X, cp2Y) в качестве контрольных точек и обновляет .currentPoint до x и y.

### # .ellipse(x : Float, y : Float, xRadius : Float, yRadius : Float, startAngle : Float, endAngle : Float, clockwise : Boolean, rotation : Float) → this

- x, y — центр эллипса, смещенный относительно последнего вызова.
- xRadius — радиус эллипса по оси x.
- yRadius — радиус эллипса по оси y.
- startAngle — начальный угол в радианах.
- endAngle — конечный угол в радианах.
- clockwise — развернуть эллипс по часовой стрелке. По умолчанию `false`.
- rotation — угол поворота эллипса в радианах, против часовой стрелки от положительной оси X. Необязательно, по умолчанию `0`.

Добавляет EllipseCurve в контур, позиционированный относительно .currentPoint.

### # .lineTo(x : Float, y : Float) → this

Соединяет LineCurve из .currentPoint с x, y на пути.

### # .moveTo(x : Float, y : Float) → this

Перемещает .currentPoint к x, y.

### # .quadraticCurveTo(cpX : Float, cpY : Float, x : Float, y : Float) → this

Создает квадратичную кривую из .currentPoint с cpX и cpY в качестве контрольных точек и обновляет .currentPoint до x и y.

### # .setFromPoints(vector2s : Array) → this

points — массивVector2.

Точки добавляются в массив curves как LineCurve.

### # .splineThru(points : Array) → this

points - массив Vector2.

Подключает новую SplineCurve к пути.

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

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