# [name]

Una superficie bidimensionale che si estende all'infinito nello spazio 3D, rappresentata in [link:http://mathworld.wolfram.com/HessianNormalForm.html forma normale Hessiana] da un vettore normale di lunghezza unitaria e una costante.

## Costruttore

### [name]( [param:Vector3 normal], [param:Float constant] )

[page:Vector3 normal] - (opzionale) un [page:Vector3] di lunghezza unitaria che definisce la normale del piano. Il valore predefinito è *(1, 0, 0)*.
[page:Float constant] - (opzionale) la distanza con segno dall'origine al piano. Il valore predefinito è `0`.

## Proprietà

### [property:Boolean isPlane]

Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].

### [property:Vector3 normal]

### [property:Float constant]

## Metodi

### [method:this applyMatrix4]( [param:Matrix4 matrix], [param:Matrix3 optionalNormalMatrix] )

[page:Matrix4 matrix] - la [Page:Matrix4] da applicare.
[page:Matrix3 optionalNormalMatrix] - (opzionale) [Page:Matrix3] normale pre-calcolata della Matrix4 da applicare.
Applica una Matrix4 al piano. La matrice deve essere una trasformata affine e omogenea.
Se si fornisce una [page:Matrix3 optionalNormalMatrix], può essere creata in questo modo: `const optionalNormalMatrix = new THREE.Matrix3().getNormalMatrix( matrix );`

### [method:Plane clone]()

Restituisce un nuovo piano con la stessa [page:.normal normal] e [page:.constant constant] di questo piano.

### [method:Vector3 coplanarPoint]( [param:Vector3 target] )

[page:Vector3 target] — il risultato verrà copiato in questo Vector3.
Restituisce un [page:Vector3] complanare al piano, calcolando la proiezione del vettore normale all'origine sul piano.

### [method:this copy]( [param:Plane plane] )

Copia i valori delle proprietà [page:.normal normal] e [page:.constant constant] del piano passato in questo piano.

### [method:Float distanceToPoint]( [param:Vector3 point] )

Restituisce la distanza con segno dal [page:Vector3 point] al piano.

### [method:Float distanceToSphere]( [param:Sphere sphere] )

Restituisce la distanza con segno dalla [page:Sphere sphere] al piano.

### [method:Boolean equals]( [param:Plane plane] )

Controlla se due piani sono uguali (le loro proprietà [page:.normal normal] e [page:.constant constant] coincidono).

### [method:Vector3 intersectLine]( [param:Line3 line], [param:Vector3 target] )

[page:Line3 line] - [page:Line3] per verificare l'intersezione.
[page:Vector3 target] — il risultato verrà copiato in questo Vector3.
Restituisce il punto di intersezione tra la linea passata e il piano. Restituisce `null` se la linea non interseca il piano. Restituisce il punto di partenza della linea se la linea è complanare al piano.

### [method:Boolean intersectsBox]( [param:Box3 box] )

[page:Box3 box] - il [page:Box3] per verificare l'intersezione.
Determina se questo piano interseca il [page:Box3 box] o no.

### [method:Boolean intersectsLine]( [param:Line3 line] )

[page:Line3 line] - la [page:Line3] per verificare l'intersezione.
Verifica se un segmento di linea si interseca (passa attraverso) il piano o no.

### [method:Boolean intersectsSphere]( [param:Sphere sphere] )

[page:Sphere sphere] - la [page:Sphere] per verificare l'intersezione.
Determina se questo piano interseca la [page:Sphere sphere] o no.

### [method:this negate]()

Nega sia la normale che la costante.

### [method:this normalize]()

Normalizza il vettore [page:.normal normal], e aggiusta di conseguenza il valore della [page:.constant constant].

### [method:Vector3 projectPoint]( [param:Vector3 point], [param:Vector3 target] )

[page:Vector3 point] - il [page:Vector3] da proiettare sul piano.
[page:Vector3 target] — il risultato verrà copiato in questo Vector3.
Proietta un [page:Vector3 point] sul piano.

### [method:this set]( [param:Vector3 normal], [param:Float constant] )

[page:Vector3 normal] - un [page:Vector3] di lunghezza unitaria che definisce la normale del piano.
[page:Float constant] - la distanza con segno dall'origine al piano. Il valore predefinito è `0`.
Imposta le proprietà [page:.normal normal] e [page:.constant constant] del piano copiando i valori dalla normale data.

### [method:this setComponents]( [param:Float x], [param:Float y], [param:Float z], [param:Float w] )

[page:Float x] - x valore del vettore normale di lunghezza unitaria.
[page:Float y] - y valore del vettore normale di lunghezza unitaria.
[page:Float z] - z valore del vettore normale di lunghezza unitaria.
[page:Float w] - il valore della proprieà [page:.constant constant] del piano.
Imposta i singoli componenti che definiscono il piano.

### [method:this setFromCoplanarPoints]( [param:Vector3 a], [param:Vector3 b], [param:Vector3 c] )

[page:Vector3 a] - primo punto sul piano.
[page:Vector3 b] - secondo punto sul piano.
[page:Vector3 c] - terzo punto sul piano.
Definisce il piano in base ai 3 punti forniti. Si presume che l'ordine di avvolgimento sia in senso antiorario, e determina la direzione della [page:.normal normale].

### [method:this setFromNormalAndCoplanarPoint]( [param:Vector3 normal], [param:Vector3 point] )

[page:Vector3 normal] - un [page:Vector3] di lunghezza unitaria che definisce la normale del piano.
[page:Vector3 point] - [page:Vector3]
Imposta le proprietà del piano definite da una [page:Vector3 normale] e un [page:Vector3 punto] complanare arbitrario.

### [method:this translate]( [param:Vector3 offset] )

[page:Vector3 offset] - la quantità di cui muovere il piano.
Trasla il piano della distanza definita dal vettore [page:Vector3 offset]. Si noti che questo influisce solo la costante del piano e non influenzerà il vettore normale.

## Source

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