# [name]

Una classe base astratta per la creazione di un oggetto [name] che contiene i metodi di interpolazione. Per un array di [name] vedere [page:CurvePath].

## Costruttore

### [name]()

Questo costruttore crea una nuova [name].

## Proprietà

### [property:Integer arcLengthDivisions]

Questo valore determina la quatità di divisioni quando vengono calcolate le lunghezze cumulative dei segmenti tramite [page:.getLengths]. Per garantire la precisione quando vengono utilizzati metodi come [page:.getSpacedPoints], si consiglia di aumentare la proprietà [page:.arcLengthDivisions] se la curva è molto grande. Il valore predefinito è 200.

## Metodi

### [method:Vector getPoint]( [param:Float t], [param:Vector optionalTarget] )

[page:Float t] - Una posizione sulla curva. Deve essere compreso nell'intervallo [ 0, 1 ].
[page:Vector optionalTarget] — (opzionale) Se specificato, il risultato verrà copiato in questo vettore, altrimenti verrà creato un nuovo vettore.
Restituisce un vettore per una data posizione sulla curva.

### [method:Vector getPointAt]( [param:Float u], [param:Vector optionalTarget] )

[page:Float u] - Una posizione sulla curva in base alla lunghezza dell'arco. Deve essere compreso nell'intervallo [ 0, 1 ].
[page:Vector optionalTarget] — (opzionale) Se specificato, il risultato verrà copiato in questo vettore, altrimenti verrà creato un nuovo vettore.
Restituisce un vettore per una data posizione sulla curva in base alla lunghezza dell'arco.

### [method:Array getPoints]( [param:Integer divisions] )

divisions -- numero di pezzi in cui dividere la curva. Il valore predefinito è `5`.
Restituisce un insieme di divisioni + 1 punto usando getPoint( t ).

### [method:Array getSpacedPoints]( [param:Integer divisions] )

divisions -- numero di pezzi in cui dividere la curva. Il valore predefinito è `5`.
Restituisce un insieme di divisioni + 1 punto equispaziato usando getPointAt( u ).

### [method:Float getLength]()

Restituisce la lunghezza totale dell'arco della curva.

### [method:Array getLengths]( [param:Integer divisions] )

Restituisce la lista delle lunghezze cumulative del segmento.

### [method:undefined updateArcLengths]()

Aggiorna la cache della distanza cumulativa del segmento. Il metodo deve essere chiamato ogni volta che i parametri della curva vengono modificati. Se una curva aggiornata fa parte di una curva composta come [page:CurvePath], [page:.updateArcLengths]() deve essere chiamato anche sulla curva composta.

### [method:Float getUtoTmapping]( [param:Float u], [param:Float distance] )

Dato u nell'intervallo ( 0 .. 1 ), restituisce [page:Float t] anche nell'intervallo ( 0 .. 1 ). u e t possono quindi essere utilizzati per fornire punti equidistanti dalle estremità della curva, utilizzando [page:.getPoint].

### [method:Vector getTangent]( [param:Float t], [param:Vector optionalTarget] )

[page:Float t] - Una posizione sulla curva. Deve essere compreso nell'intervallo [ 0, 1 ].
[page:Vector optionalTarget] — (opzionale) Se specificato, il risultato sarà copiato in questo vettore, altrimenti sarà creato un nuovo vettore.
Restituisce un vettore unitario tangente a t. Se la curva derivata non implementa la sua derivazione tangente, per trovare la sua pendenza verranno utilizzati due punti distanti un piccolo delta, che sembrano fornire un'approssimazione ragionevole.

### [method:Vector getTangentAt]( [param:Float u], [param:Vector optionalTarget] )

[page:Float u] - Una posizione sulla curva in base alla lunghezza dell'arco. Deve essere compreso nell'intervallo [ 0, 1 ].
[page:Vector optionalTarget] — (opzionale) Se specificato, il risultato sarà copiato in questo vettore, altrimenti sarà creato un nuovo vettore.
Restituisce la tangente in un punto equidistante dalle estremità della curva dal punto indicato in [page:.getTangent].

### [method:Object computeFrenetFrames]( [param:Integer segments], [param:Boolean closed] )

Genera i Frame Franet. Richiede una definizione della curva nello spazio 3D. Utilizzata nelle geometrie come [page:TubeGeometry] o [page:ExtrudeGeometry].

### [method:Curve clone]()

Crea un clone di questa istanza.

### [method:this copy]( [param:Curve source] )

Copia un altro oggetto [name] in questa istanza.

### [method:Object toJSON]()

Restituisce un oggetto JSON rappresentazione di questa istanza.

### [method:this fromJSON]( [param:Object json] )

Copia i dati dell'oggetto JSON dato in questa istanza.

## Source

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]