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

Curve →

# CatmullRomCurve3

Создаёт гладкую трёхмерную сплайн-кривую из серии точек с помощью алгоритма Катмулла-Рома.

## Пример

`// создаём волнистую замкнутую кривую const curve = new v3d.CatmullRomCurve3([ new v3d.Vector3(-10, 0, 10), new v3d.Vector3(-5, 5, 5), new v3d.Vector3(0, 0, 0), new v3d.Vector3(5, -5, 5), new v3d.Vector3(10, 0, 10) ], true); const points = curve.getPoints(50); const geometry = new v3d.BufferGeometry().setFromPoints(points); const material = new v3d.LineBasicMaterial({ color : 0xff0000 }); // создаём объект кривой и добавляем его на сцену const curveObject = new v3d.Line(geometry, material); app.scene.add(curveObject);`

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

### CatmullRomCurve3(points : Array, closed : Boolean, curveType : String, tension : Float)

- points – массив точек.
- closed – является ли кривая замкнутой. По умолчанию `false`.
- curveType – тип кривой. По умолчанию `"centripetal"`.
- tension – натяжение кривой. По умолчанию `0.5`.

## Свойства

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

### # .points : Array

Массив точек Vector3, определяющих кривую. Должен содержать не меньше двух элементов.

### # .closed : Boolean

Если `true`, кривая будет замыкаться сама на себя.

### # .curveType : String

Возможные значения: `"centripetal"`, `"chordal"` и `"catmullrom"`.

### # .tension : Float

Если .curveType равен `"catmullrom"`, определяет напряжение кривой.

## Методы

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

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

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