Преглед на файлове

Add Math italian version (#24782)

Angela Busato преди 2 години
родител
ревизия
16274d63e8

+ 211 - 0
docs/api/it/math/Box2.html

@@ -0,0 +1,211 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Rappresenta un bounding box (rettangolo di selezione) allineato all'asse (AABB) nello spazio 2D.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Vector2 min], [param:Vector2 max] )</h3>
+		<p>
+		[page:Vector2 min] - (opzionale) [page:Vector2] che rappresenta il limite inferiore (x, y) del box.
+		Il valore predefinito è ( + Infinito, + Infinito ).<br>
+
+		[page:Vector2 max] - (opzionale) [page:Vector2] che rappresenta il limite superiore (x, y) del box.
+		Il valore predefinito è ( - Infinito, - Infinito ).<br /><br />
+
+		Crea un [name] delimitato da min e max.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Vector2 min]</h3>
+		<p>
+			[page:Vector2] che rappresenta il limite inferiore (x, y) del box.<br />
+			Il valore predefinito è ( + Infinito, + Infinito ).
+		</p>
+
+		<h3>[property:Vector2 max]</h3>
+		<p>
+			[page:Vector2] che rappresenta il limite superiore (x, y) del box.<br />
+			Il valore predefinito è ( - Infinito, - Infinito ).
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Vector2 clampPoint]( [param:Vector2 point], [param:Vector2 target] )</h3>
+		<p>
+		[page:Vector2 point] - [page:Vector2] da bloccare. <br>
+		[page:Vector2 target] - il risultato sarà copiato in questo Vector2.<br /><br />
+
+		[link:https://en.wikipedia.org/wiki/Clamping_(graphics) Blocca] il [page:Vector2 punto] entro i limiti di questo box.<br />
+		</p>
+
+		<h3>[method:Box2 clone]()</h3>
+		<p>Restituisce un nuovo [page:Box2] con lo stesso [page:.min min] e [page:.max max] di questo.</p>
+
+		<h3>[method:Boolean containsBox]( [param:Box2 box] )</h3>
+		<p>
+		[page:Box2 box] - [page:Box2 Box2] per testare l'inclusione.<br /><br />
+
+		Restituisce true se questo box include la totalità del [page:Box2 box]. Se questo e il [page:Box2 box] sono identici, 
+		questa funzione tornerà comunque true.
+		</p>
+
+		<h3>[method:Boolean containsPoint]( [param:Vector2 point] )</h3>
+		<p>
+		[page:Vector2 point] - [page:Vector2] per verificare l'inclusione.<br /><br />
+
+		Restituisce true se il [page:Vector2 punto] specificato si trova all'interno o sui limiti di questo box.
+		</p>
+
+		<h3>[method:this copy]( [param:Box2 box] )</h3>
+		<p>
+			Copia il [page:.min min] e il [page:.max max] da [page:Box2 box] a questo box.
+		</p>
+
+		<h3>[method:Float distanceToPoint]( [param:Vector2 point] )</h3>
+		<p>
+		[page:Vector2 point] - [page:Vector2] per misurare la distanza.<br /><br />
+
+		Restituisce la distanza da qualsiasi arco di questo box al punto specificato.
+		Se il [page:Vector2 punto] si trova all'interno di questo box, la distanza sarà 0.
+		</p>
+
+		<h3>[method:Boolean equals]( [param:Box2 box] )</h3>
+		<p>
+		[page:Box2 box] - Box da confrontare con questo.<br /><br />
+
+		Restituisce true se questo box e il [page:Box2 box] condividono gli stessi limiti inferiori e superiori.
+		</p>
+
+		<h3>[method:this expandByPoint]( [param:Vector2 point] )</h3>
+		<p>
+		[page:Vector2 point] - [page:Vector2] che dovrebbe essere incluso nel box.<br /><br />
+
+		Espande i limiti di questo box in modo da includere il [page:Vector2 punto].
+		</p>
+
+		<h3>[method:this expandByScalar]( [param:Float scalar] )</h3>
+		<p>
+		[page:Float scalar] - Distanza di cui espandere il box.<br /><br />
+
+		Espande ogni dimensione del box per lo [page:Float scalare]. Se negativo, le dimensioni del box saranno contratte.
+		</p>
+
+		<h3>[method:this expandByVector]( [param:Vector2 vector] )</h3>
+		<p>
+		[page:Vector2 vector] - [page:Vector2] per il quale espandere il box.<br /><br />
+
+		Espande questo box in modo equilatero per [page:Vector2 vettore]. La larghezza di questo box sarà estesa
+		dal componente x del [page:Vector2 vettore] in entrambe le direzioni. L'altezza di questo box 
+		sarà estesa dal componente y del [page:Vector2 vettore] in entrambe le direzioni.
+		</p>
+
+		<h3>[method:Vector2 getCenter]( [param:Vector2 target] )</h3>
+		<p>
+		[page:Vector2 target] — il risultato sarà copiato in questo Vector2.<br /><br />
+
+		Restituisce il punto centrale del box come [page:Vector2]. 
+		</p>
+
+		<h3>[method:Vector2 getParameter]( [param:Vector2 point], [param:Vector2 target] ) </h3>
+		<p>
+		[page:Vector2 point] - [page:Vector2].<br/>
+		[page:Vector2 target] - il risultato sarà copiato in questo Vector2.<br /><br />
+
+		Restituisce un punto come proporzione della larghezza e dell'altezza di questo box.
+		</p>
+
+		<h3>[method:Vector2 getSize]( [param:Vector2 target] )</h3>
+		<p>
+		[page:Vector2 target] - il risultato sarà copiato in questo Vector2.<br /><br />
+
+		Restituisce la larghezza e l'altezza di questo box.
+		</p>
+
+		<h3>[method:this intersect]( [param:Box2 box] )</h3>
+		<p>
+		[page:Box2 box] - Box con cui intersecare.<br /><br />
+
+		Restituisce l'intersezione di questo box e [page:Box2 box], impostando il limite superiore di questo box al minore
+		dei limiti superiori dei due box e il limite inferiore di questo box al maggiore dei limiti inferiori dei due box.
+		</p>
+
+		<h3>[method:Boolean intersectsBox]( [param:Box2 box] )</h3>
+		<p>
+		[page:Box2 box] - Box per il controllo dell'intersezione.<br /><br />
+
+		Determina se questo box interseca [page:Box2 box] oppure no.
+		</p>
+
+		<h3>[method:Boolean isEmpty]()</h3>
+		<p>
+			Restituisce true se questo box include zero punti entro i suoi limiti.<br>
+			Si noti che un box con i limiti superiore e inferiore uguali include ancora un punto,
+			quello condiviso da entrambi i limiti.
+		</p>
+
+		<h3>[method:this makeEmpty]()</h3>
+		<p>Rende questo box vuoto.</p>
+
+
+		<h3>[method:this set]( [param:Vector2 min], [param:Vector2 max] )</h3>
+		<p>
+			[page:Vector2 min] - (obbligatorio) [page:Vector2] che rappresenta il limite inferiore (x, y) del box. <br>
+			[page:Vector2 max]  - (obbligatorio) [page:Vector2] che rappresenta il limite superiore (x, y) del box. <br /><br />
+
+			Imposta i limiti inferiore e superiore (x, y) di questo box.<br>
+			Si noti che questo metodo copia solo i valori dagli oggetti dati.
+		</p>
+
+		<h3>[method:this setFromCenterAndSize]( [param:Vector2 center], [param:Vector2 size] )</h3>
+		<p>
+		[page:Vector2 center] - Posizione centrale desiderata del box ([page:Vector2]). <br>
+		[page:Vector2 size] - Dimensioni x e y desiderati per il box ([page:Vector2]).<br /><br />
+
+		Centra questo box nel [page:Vector2 centro] e imposta la larghezza e l'altezza di questo box ai valori 
+		specificati in [page:Vector2 size].
+		</p>
+
+		<h3>[method:this setFromPoints]( [param:Array points] )</h3>
+		<p>
+		[page:Array points] - Array di [page:Vector2 Vector2] che conterrà il box risultante.<br /><br />
+
+		Imposta i limiti inferiore e superiore di questo box per includere tutti i punti in [page:Array points].
+		</p>
+
+		<h3>[method:this translate]( [param:Vector2 offset] )</h3>
+		<p>
+		[page:Vector2 offset] - Direzione e distanza dell'offset.<br /><br />
+
+		Aggiunge l'[page:Vector2 offset] ad entrambi i limiti inferiore e superiore di questo box, spostando efficacemente
+		le unità di [page:Vector2 offset] di questo box nello spazio 2D.
+		</p>
+
+		<h3>[method:this union]( [param:Box2 box] )</h3>
+		<p>
+		[page:Box2 box] - Box che verrà unito con questo box.<br /><br />
+
+		Unisce questo box con [page:Box2 box], impostando il limite superiore di questo box al maggiore dei limiti superiori 
+		di entrambi i box e il limite inferiore di questo box al minore dei limiti inferiori di entrambi i box.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 310 - 0
docs/api/it/math/Box3.html

@@ -0,0 +1,310 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Rappresenta un bounding box (rettangolo di selezione) allineato all'asse (AABB) nello spazio 3D.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const box = new THREE.Box3();
+
+		const mesh = new THREE.Mesh(
+			new THREE.SphereGeometry(),
+			new THREE.MeshBasicMaterial()
+		);
+
+		// assicurarsi che il bounding box sia calcolato per la sua geometria
+		// questo dovrebbe essere fatto una sola volta (supponendo geometrie statiche)
+		mesh.geometry.computeBoundingBox();
+
+		// ...
+
+		// nel ciclo di animazione, calcola il bounding box corrente con la matrice world
+		box.copy( mesh.geometry.boundingBox ).applyMatrix4( mesh.matrixWorld );
+		</code>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Vector3 min], [param:Vector3 max] )</h3>
+		<p>
+		[page:Vector3 min] - (opzionale) [page:Vector3] che rappresenta il limite inferiore (x, y, z) del box.
+		Il valore predefinito è ( + Infinito, + Infinito, + Infinito ).<br>
+
+		[page:Vector3 max] - (opzionale) [page:Vector3] che rappresenta il limite superiore (x, y, z) del box.
+		Il valore predefinito è ( - Infinito, - Infinito, - Infinito ).<br /><br />
+
+		Crea un [name] delimitato da min e max.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Boolean isBox3]</h3>
+		<p>
+			Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].
+		</p>
+
+		<h3>[property:Vector3 min]</h3>
+		<p>
+			[page:Vector3] rappresenta il limite inferiore (x, y, z) del box.<br />
+			Il valore predefinito è ( + Infinito, + Infinito, + Infinito ).
+		</p>
+
+		<h3>[property:Vector3 max]</h3>
+		<p>
+			[page:Vector3] che rappresenta il limite superiore (x, y, z) del box.<br />
+			Il valore predefinito è ( - Infinito, - Infinito, - Infinito ).
+		</p>
+
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix] )</h3>
+		<p>
+		[page:Matrix4 matrix] - La [page:Matrix4] da applicare<br /><br />
+
+		Trasforma questo Box3 con la matrice fornita.
+		</p>
+
+		<h3>[method:Vector3 clampPoint]( [param:Vector3 point], [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3] da bloccare. <br>
+		[page:Vector3 target] - il risultato sarà copiato in questo Vector3.<br /><br />
+
+		[link:https://en.wikipedia.org/wiki/Clamping_(graphics) Blocca] il [page:Vector3 punto] entro i limiti di questo box.<br />
+		</p>
+
+		<h3>[method:Box3 clone]()</h3>
+		<p>Restituisce un nuovo [page:Box3] con lo stesso [page:.min min] e [page:.max max] di questo.</p>
+
+		<h3>[method:Boolean containsBox]( [param:Box3 box] )</h3>
+		<p>
+			[page:Box3 box] - [page:Box3 Box3] per testare l'inclusione.<br /><br />
+
+			Restituisce true se questo box include la totalità del [page:Box3 box]. Se questo e il [page:Box3 box] sono identici, 
+			questa fuonzione tornerà comunque true.
+		</p>
+
+		<h3>[method:Boolean containsPoint]( [param:Vector3 point] )</h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3] per verificare l'inclusione.<br /><br />
+
+		Restituisce true se il [page:Vector3 punto] specificato si trova all'interno o sui limiti di questo box.
+		</p>
+
+		<h3>[method:this copy]( [param:Box3 box] )</h3>
+		<p>
+		[page:Box3 box]  - [page:Box3] da copiare.<br /><br />
+
+		Copia il [page:.min min] e il [page:.max max] da [page:Box3 box] a questo box.
+		</p>
+
+		<h3>[method:Float distanceToPoint]( [param:Vector3 point] )</h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3] per misurare la distanza.<br /><br />
+
+		Restituisce la distanza da qualsiasi arco di questo box al punto specificato.
+		Se il [page:Vector3 punto] si trova all'interno di questo box, la distanza sarà 0.
+		</p>
+
+
+		<h3>[method:Boolean equals]( [param:Box3 box] )</h3>
+		<p>
+		[page:Box3 box] - Box da confrontare con questo.<br /><br />
+
+		Restituisce true se questo box e il [page:Box3 box] condividono gli stessi limiti inferiore e superiore.
+		</p>
+
+		<h3>[method:this expandByObject]( [param:Object3D object], [param:Boolean precise] )</h3>
+		<p>
+			[page:Object3D object] - [page:Object3D] per espandere il box.<br />
+			precise - (opzionale) espande il bounding box il meno possibile a scapito di ulteriori calcoli. L'impostazione predefinita è `false`.<br /><br />
+
+			Espande i limiti di questo box per includere l'[page:Object3D oggetto] e i suoi figli,
+			tenendo conto delle trasformazioni del mondo dell'oggetto e dei figli.
+			La funzione può risultare in un box più grande del necessario (a meno che il parametro non sia impostato su true).
+		</p>
+
+		<h3>[method:this expandByPoint]( [param:Vector3 point] )</h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3] che dovrebbe essere incluso nel box.<br /><br />
+
+		Espande i limiti di questo box in modo da includere il [page:Vector3 punto].
+		</p>
+
+		<h3>[method:this expandByScalar]( [param:Float scalar] )</h3>
+		<p>
+		[page:Float scalar] - Distanza di cui espandere il box.<br /><br />
+
+		Espande ogni dimensione del box per lo [page:Float scalare]. Se negativo, le dimensioni del box saranno contratte.
+		</p>
+
+		<h3>[method:this expandByVector]( [param:Vector3 vector] )</h3>
+		<p>
+		[page:Vector3 vector] - [page:Vector3] per il quale espandere il box.<br /><br />
+
+		Espande questo box in modo equilatero per [page:Vector3 vettore]. La larghezza di questo box sarà estesa
+		dal componente x del [page:Vector3 vettore] in entrambe le direzioni. L'altezza di questo box 
+		sarà estesa dal componente y del [page:Vector3 vettore] in entrambe le direzioni.
+		La profondità di questo box sarà estesa dal componente z del [page:Vector3 vettore] in entrambe le direzioni.
+		</p>
+
+		<h3>[method:Sphere getBoundingSphere]( [param:Sphere target] )</h3>
+		<p>
+		[page:Sphere target] - il risultato sarà copiato in questa sfera.<br /><br />
+
+		Ottiene una [page:Sphere Sfera] che delimita il box.
+		</p>
+
+		<h3>[method:Vector3 getCenter]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] - il risultato sarà copiato in questo Vector3.<br /><br />
+
+		Restituisce il punto centrale del box come un [page:Vector3]. 
+		</p>
+
+		<h3>[method:Vector3 getParameter]( [param:Vector3 point], [param:Vector3 target] ) </h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3].<br/>
+		[page:Vector3 target] - il risultato sarà copiato in questo Vector3.<br /><br />
+
+		Restituisce un punto come proporzione della larghezza, dell'altezza e della profondità di questo box.
+		</p>
+
+		<h3>[method:Vector3 getSize]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] - il risultato sarà copiato in questo Vector3.<br /><br />
+
+		Restituisce la larghezza, l'altezza e la profondità di questo box.
+		</p>
+
+		<h3>[method:this intersect]( [param:Box3 box] )</h3>
+		<p>
+		[page:Box3 box] - Box con cui intersecare.<br /><br />
+
+		Restituisce l'intersezione di questo box e [page:Box3 box], impostando il limite superiore di questo box al minore
+		dei limiti superiori dei due box e il limite inferiore di questo box al maggiore dei limiti inferiori dei due box.
+		Se non ci sono sovrapposizioni, rende il box vuoto.
+		</p>
+
+		<h3>[method:Boolean intersectsBox]( [param:Box3 box] )</h3>
+		<p>
+		[page:Box3 box] - Box per il controllo dell'intersezione.<br /><br />
+
+		Determina se questo box interseca [page:Box3 box] oppure no.
+		</p>
+
+		<h3>[method:Boolean intersectsPlane]( [param:Plane plane] )</h3>
+		<p>
+		[page:Plane plane] - [page:Plane] per il controllo dell'intersezione.<br /><br />
+
+		Determina se questo box interseca il [page:Plane plane] oppure no.
+		</p>
+
+		<h3>[method:Boolean intersectsSphere]( [param:Sphere sphere] )</h3>
+		<p>
+		[page:Sphere sphere] - [page:Sphere] per il controllo dell'intersezione.<br /><br />
+
+		Determina se questo box interseca la [page:Sphere sphere] oppure no.
+		</p>
+
+		<h3>[method:Boolean intersectsTriangle]( [param:Triangle triangle] )</h3>
+		<p>
+		[page:Triangle triangle] - [page:Triangle] per il controllo dell'intersezione.<br /><br />
+
+		Determina se questo box interseca il [page:Triangle triangle] oppure no.
+		</p>
+
+		<h3>[method:Boolean isEmpty]()</h3>
+		<p>
+			Restituisce true se questo box include zero punti entro i suoi limiti.<br>
+			Si noti che un box con i limiti superiore e inferiore uguali include ancora un punto,
+			quello condiviso da entrambi i limiti.
+		</p>
+
+		<h3>[method:this makeEmpty]()</h3>
+		<p>Rende questo box vuoto.</p>
+
+		<h3>[method:this set]( [param:Vector3 min], [param:Vector3 max] )</h3>
+		<p>
+		[page:Vector3 min] - [page:Vector3] rappresenta il limite inferiore (x, y, z) del box.<br />
+		[page:Vector3 max] - [page:Vector3] rappresenta il limite superiore (x, y, z) del box.<br /><br />
+
+		Imposta i limiti inferiore e superiore (x, y, z) di questo box.<br>
+		Si noti che questo metodo copia solo i valori dagli oggetti dati.
+		</p>
+
+		<h3>[method:this setFromArray]( [param:Array array] )</h3>
+		<p>
+		array -- Un array di dati di posizione che il box risultante avvolgerà.<br /><br />
+
+		Imposta i limiti inferiore e superiore di questo box per includere tutti i dati nell'`array`.
+		</p>
+
+		<h3>[method:this setFromBufferAttribute]( [param:BufferAttribute attribute] )</h3>
+		<p>
+		[page:BufferAttribute attribute] - Un attributo buffer di dati di posizione che il box risultante avvolgerà.<br /><br />
+
+		Imposta i limiti inferiore e superiore di questo box per includere tutti i dati nell'[page:BufferAttribute attribute].
+		</p>
+
+		<h3>[method:this setFromCenterAndSize]( [param:Vector3 center], [param:Vector3 size] )</h3>
+		<p>
+		[page:Vector3 center] - Posizione centrale desiderata del box.<br>
+		[page:Vector3 size] - Dimensioni x, y e z desiderati per il box.<br /><br />
+
+		Centra questo box nel [page:Vector3 centro] e imposta la larghezza e l'altezza di questo box ai valori 
+		specificati in [page:Vector3 size].
+		</p>
+
+		<h3>[method:this setFromObject]( [param:Object3D object], [param:Boolean precise] )</h3>
+		<p>
+		[page:Object3D object] - [page:Object3D] di cui calcolare il bounding box.<br />
+		precise - (opzionale) calcola il più piccolo bounding box all'asse world a scapito di più calcoli. L'impostazione predefinita è `false`.<br /><br />
+
+		Calcola il bounding box allineato all'asse world di un [page:Object3D] (inclusi i suoi figli),
+		tenendo conto delle trasformazioni del mondo dell'oggetto e dei bambini. La funzione
+		può comportare un box più grande del necessario.
+		</p>
+
+		<h3>[method:this setFromPoints]( [param:Array points] )</h3>
+		<p>
+		[page:Array points] - Array di [page:Vector3 Vector3] che conterrà il box risultante.<br /><br /> 
+
+		Imposta i limiti inferiore e superiore di questo box per includere tutti i punti in [page:Array points].
+		</p>
+
+		<h3>[method:this translate]( [param:Vector3 offset] )</h3>
+		<p>
+		[page:Vector3 offset] - Direzione e distanza dell'offset.<br /><br />
+
+		Aggiunge l'[page:Vector3 offset] ad entrambi i limiti inferiore e superiore di questo box, spostando efficacemente
+		le unità di page:Vector3 offset] di questo box nello spazio 3D.
+		</p>
+
+		<h3>[method:this union]( [param:Box3 box] )</h3>
+		<p>
+		[page:Box3 box] - Box che verrà unito con questo box.<br /><br />
+
+		Calcola l'unione di questo box con [page:Box3 box], impostando il limite superiore di questo box al maggiore dei limiti superiori 
+		di entrambi i box e il limite inferiore di questo box al minore dei limiti inferiori di entrambi i box.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 321 - 0
docs/api/it/math/Color.html

@@ -0,0 +1,321 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Classe che rappresenta un colore.
+		</p>
+
+		<p>
+			L'iterazione di un'istanza [name] produrrà i suoi componenti (r, g, b) nell'ordine corrispondente.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<p>
+			Un colore può essere inizializzato in qualsiasi dei seguenti modi:
+		</p>
+		<code>
+// Un costruttore vuoto - per impostazione predefinita sarà bianco
+const color1 = new THREE.Color();
+
+// Colore esadecimale (raccomandato)
+const color2 = new THREE.Color( 0xff0000 );
+
+// Una stringa RGB
+const color3 = new THREE.Color("rgb(255, 0, 0)");
+const color4 = new THREE.Color("rgb(100%, 0%, 0%)");
+
+// Nome del colore X11 - tutti i 140 nomi dei colori sono supportati.
+// Si noti la mancanza del CamelCase nel nome
+const color5 = new THREE.Color( 'skyblue' );
+
+// Una stringa HSL
+const color6 = new THREE.Color("hsl(0, 100%, 50%)");
+
+// Separa i valori RGB tra 0 e 1
+const color7 = new THREE.Color( 1, 0, 0 );
+		</code>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Color_Hex_or_String r], [param:Float g], [param:Float b] )</h3>
+		<p>
+		[page:Color_Hex_or_String r] - (opzionale) Se gli argomenti [page:Float g] e [page:Float b] sono definiti, indica il componente rosso del colore.
+		Se non sono definiti, questo può essere una [link:https://en.wikipedia.org/wiki/Web_colors#Hex_triplet tripletta esadecimale] (consigliato), 
+		una stringa CSS-style, o un'altra istanza Color.<br />
+		[page:Float g] - (opzionale) Se è definito, indica la componente verde del colore.<br />
+		[page:Float b] - (opzionale) Se è definito, indica la componente blu del colore.<br /><br />
+
+		Si noti che il metodo standard per definire il colore in three.js è con una [link:https://en.wikipedia.org/wiki/Web_colors#Hex_triplet tripletta esadecimale],
+		questo metodo viene utilizzato nel resto della documentazione.<br /><br />
+
+		Quando tutti gli argomenti sono definiti allora [page:Color_Hex_or_String r] è il componente rosso,
+		[page:Float g] è il componente verde e [page:Float b] è il componente blue del colore.<br />
+		Quando solo [page:Color_Hex_or_String r] è definito:<br />
+		<ul>
+			<li>Può essere una [link:https://en.wikipedia.org/wiki/Web_colors#Hex_triplet tripletta esadecimale] che rappresenta il colore (consigliato).</li>
+			<li>Può essere un'altra istanza di Color.</li>
+			<li>Può essere una stringa CSS-style. Per esempio:
+				<ul>
+					<li>'rgb(250, 0,0)'</li>
+					<li>'rgb(100%,0%,0%)'</li>
+					<li>'hsl(0, 100%, 50%)'</li>
+					<li>'#ff0000'</li>
+					<li>'#f00'</li>
+					<li>'red'</li>
+				</ul>
+
+			</li>
+		</ul>
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Boolean isColor]</h3>
+		<p>
+			Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].
+		</p>
+
+		<h3>[property:Float r]</h3>
+		<p>
+			Valore del canale rosso tra 0 e 1. Il valore predefinito è 1.
+		</p>
+
+		<h3>[property:Float g]</h3>
+		<p>
+			Valore del canale verde tra 0 e 1. Il valore predefinito è 1.
+		</p>
+
+		<h3>[property:Float b]</h3>
+		<p>
+			Valore del canale blu tra 0 e 1. Il valore predefinito è 1.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this add]( [param:Color color] ) </h3>
+		<p>Aggiunge i valori RGB del [page:Color colore] ai valori RGB di questo colore.</p>
+
+		<h3>[method:this addColors]( [param:Color color1], [param:Color color2] ) </h3>
+		<p>Imposta questi valori RGB del colore alla somma dei valori RGB di [page:Color color1] e [page:Color color2].</p>
+
+		<h3>[method:this addScalar]( [param:Number s] ) </h3>
+		<p>Aggiunge [page:Number s] ai valori RGB di questo colore.</p>
+
+		<h3>[method:Color clone]() </h3>
+		<p>Restituisce un nuovo Color con gli stessi valori [page:.r r], [page:.g g] e [page:.b b] di questo.</p>
+
+		<h3>[method:this copy]( [param:Color color] ) </h3>
+		<p>
+			Copia i parametri [page:.r r], [page:.g g] e [page:.b b] dal [page:Color colore] in questo colore.
+		</p>
+
+		<h3>[method:this convertLinearToSRGB]() </h3>
+		<p>
+			Converte questo colore dallo spazio lineare allo spazio sRGB.
+		</p>
+
+		<h3>[method:this convertSRGBToLinear]() </h3>
+		<p>
+			Converte questo colore dallo spazio sRGB allo spazio lineare.
+		</p>
+
+		<h3>[method:this copyLinearToSRGB]( [param:Color color] ) </h3>
+		<p>
+		[page:Color color] - Colore da copiare.<br /><br />
+
+		Copia il colore passato in questo colore, e poi converte questo colore dallo spazio lineare allo spazio sRGB.
+		</p>
+
+		<h3>[method:this copySRGBToLinear]( [param:Color color] ) </h3>
+		<p>
+		[page:Color color] - Colore da copiare.<br /><br />
+
+		Copia il colore passato in questo colore, e poi converte questo colore dallo spazio sRGB allo spazio lineare.
+		</p>
+
+		<h3>[method:Boolean equals]( [param:Color color] ) </h3>
+		<p>Compara i valori RGB del [page:Color colore] con quelli di questo oggetto. Restituisce true se sono gli stessi, false altrimenti.</p>
+
+		<h3>[method:this fromArray]( [param:Array array], [param:Integer offset] ) </h3>
+		<p>
+		[page:Array array] - [page:Array] di float nella forma [ [page:Float r], [page:Float g], [page:Float b] ].<br />
+		[page:Integer offset] - Un offset opzionale nell'array.<br /><br />
+
+		Imposta i componenti di questo colore in base a un array formattato come [ [page:Float r], [page:Float g], [page:Float b] ].
+		</p>
+
+		<h3>[method:this fromBufferAttribute]( [param:BufferAttribute attribute], [param:Integer index] )</h3>
+		<p>
+		[page:BufferAttribute attribute] - l'attributo sorgente.<br />
+		[page:Integer index] - l'indice dell'attributo.<br /><br />
+
+		Imposta i componenti del colore dall'[page:BufferAttribute attributo].
+		</p>
+
+		<h3>[method:Integer getHex]( [param:string colorSpace] = SRGBColorSpace )</h3>
+		<p>Restituisce il valore esadecimale di questo colore.</p>
+
+		<h3>[method:String getHexString]( [param:string colorSpace] = SRGBColorSpace )</h3>
+		<p>Restituisce il valore esadecimale di questo colore come una stringa (per esempio, 'FFFFFF').</p>
+
+		<h3>[method:Object getHSL]( [param:Object target], [param:string colorSpace] = LinearSRGBColorSpace )</h3>
+		<p>
+			[page:Object target] - questo risultato sarà copiato in questo Oggetto. Aggiunge le chiavi h, s e l all'oggetto (se non è già presente).<br /><br />
+
+			Converte i valori [page:.r r], [page:.g g] e [page:.b b] del Color al formato [link:https://en.wikipedia.org/wiki/HSL_and_HSV HSL]
+			e restituisce un oggetto della forma:
+
+			<code>
+				{ h: 0, s: 0, l: 0 }
+			</code>
+
+		</p>
+
+		<h3>[method:String getStyle]( [param:string colorSpace] = SRGBColorSpace )</h3>
+		<p>Restituisce il valore di questo colore come una stringa CSS style. Esempio: `rgb(255,0,0)`.</p>
+
+		<h3>[method:this lerp]( [param:Color color], [param:Float alpha] ) </h3>
+		<p>
+		[page:Color color] - colore su cui convergere.<br />
+		[page:Float alpha] - fattore di interpolazione nell'intervallo chiuso `[0, 1]`.<br /><br />
+
+		Interpola linearmente i valori RGB di questo colore verso i valori RGB dell'argomento passato.
+		L'argomento alfa può essere considerato come il rapporto tra i due colori, dove `0.0` è
+		questo colore e `1.0` è il primo argomento.
+		</p>
+
+		<h3>[method:this lerpColors]( [param:Color color1], [param:Color color2], [param:Float alpha] )</h3>
+		<p>
+		[page:Color color1] - [page:Color colore] iniziale.<br />
+		[page:Color color2] - [page:Color colore] verso cui interpolare.<br />
+		[page:Float alpha] - fattore interpolazione, tipicamente nell'intervallo chiuso `[0, 1]`.<br /><br />
+
+		Imposta questo colore per essere il colore interpolato linearmente tra [page:Color color1] e
+		[page:Color color2] dove alfa è la distanza percentuale lungo la linea che collega i due colori
+		- alfa = 0 sarà [page:Color color1], e alpha = 1 sarà [page:Color color2].
+		</p>
+
+		<h3>[method:this lerpHSL]( [param:Color color], [param:Float alpha] ) </h3>
+		<p>
+		[page:Color color] - colore su cui convergere.<br />
+		[page:Float alpha] - fattore di interpolazione nell'intervallo chiuso`[0, 1]`.<br /><br />
+
+		Interpola linearmente i valori HSL di questo colore verso i valori HSL dell'argomento passato.
+		Si differenzia dal classico [page:.lerp] non interpolando direttamente da un colore all'altro,
+		ma passando invece attraverso tutte le sfumature tra questi due colori.
+		L'argomento alfa può essere considerato come il rapporto tra i due colori, dove `0.0` è
+		questo colore e `1.0` è il primo argomento.
+		</p>
+
+		<h3>[method:this multiply]( [param:Color color] ) </h3>
+		<p>Moltiplica i valori RGB di questo colore per i valori RGB del colore passato.</p>
+
+		<h3>[method:this multiplyScalar]( [param:Number s] ) </h3>
+		<p>Moltiplica i valori RGB di questo colore per [page:Number s].</p>
+
+		<h3>[method:this offsetHSL]( [param:Float h], [param:Float s], [param:Float l] ) </h3>
+		<p>
+			Aggiunge [page:Float h], [page:Float s] e [page:Float l] passati ai valori di questo colore.
+			Internamente, converte i valori [page:.r r], [page:.g g] e [page:.b b] del colore a HSL,
+			aggiunge [page:Float h], [page:Float s], e [page:Float l] e poi converte il colore nero a RGB.
+		</p>
+
+		<h3>[method:this set]( [param:Color_Hex_or_String value] ) </h3>
+		<p>
+		[page:Color_Hex_or_String value] - Valore a cui impostare il valore.<br /><br />
+
+		Vedi il costruttore sopra per i dettagli completi di quale [page:Color_Hex_or_String valore] può assumere.
+		Delega a [page:.copy], [page:.setStyle], o [page:.setHex] a seconda del tipo di input.
+		</p>
+
+		<h3>[method:this setHex]( [param:Integer hex], [param:string colorSpace] = SRGBColorSpace ) </h3>
+		<p>
+		[page:Integer hex] - formato [link:https://en.wikipedia.org/wiki/Web_colors#Hex_triplet tripletta esadecimale].<br /><br />
+
+		Imposta questo colore da un valore esadecimale.
+		</p>
+
+		<h3>[method:this setHSL]( [param:Float h], [param:Float s], [param:Float l], [param:string colorSpace] = LinearSRGBColorSpace ) </h3>
+		<p>
+		[page:Float h] - Valore di tonalità compreso tra 0.0 e 1.0 <br />
+		[page:Float s] - Valore di saturazione compreso tra 0.0 e 1.0 <br />
+		[page:Float l] - Valore di luminosità compreso tra 0.0 e 1.0<br /><br />
+
+		Imposta il colore dai valori HSL.
+		</p>
+
+		<h3>[method:this setRGB]( [param:Float r], [param:Float g], [param:Float b], [param:string colorSpace] = LinearSRGBColorSpace ) </h3>
+		<p>
+		[page:Float r] - Valore del canale rosso tra 0.0 e 1.0.<br />
+		[page:Float g] - Valore del canale verde tra 0.0 e 1.0.<br />
+		[page:Float b] - Valore del canale blu tra 0.0 e 1.0.<br /><br />
+
+		Imposta questo colore dai valori RGB.
+		</p>
+
+		<h3>[method:this setScalar]( [param:Float scalar] ) </h3>
+		<p>
+		[page:Float scalar] - un valore tra 0.0 e 1.0.<br /><br />
+
+		Imposta tutti e tre i componenti del colore al valore [page:Float scalare].
+		</p>
+
+		<h3>[method:this setStyle]( [param:String style], [param:string colorSpace] = SRGBColorSpace ) </h3>
+		<p>
+		[page:String style] - colore come una stringa CSS-style.<br /><br />
+
+		Imposta questo colore da una stringa CSS. Per esempio,
+		"rgb(250, 0,0)",
+		"rgb(100%, 0%, 0%)",
+		"hsl(0, 100%, 50%)",
+		"#ff0000",
+		"#f00", o
+		"red" ( o qualsiasi [link:https://en.wikipedia.org/wiki/X11_color_names#Color_name_chart nome dei colori X11]
+		- tutti i 140 nomi dei colori sono supportati ).<br />
+
+		Sono accettati anche colori traslucidi come "rgba(255, 0, 0, 0.5)" e "hsla(0, 100%, 50%, 0.5)",
+		ma le coordinate del canale alfa verranno eliminate.<br /><br />
+
+		Si noti che per i nomi dei colori X11, più parole come Dark Orange diventano la stringa 'darkorange'.
+		</p>
+
+		<h3>[method:this setColorName]( [param:String style], [param:string colorSpace] = SRGBColorSpace ) </h3>
+		<p>
+		[page:String style] - nome del colore ( dai [link:https://en.wikipedia.org/wiki/X11_color_names#Color_name_chart nomi dei colori X11] ).<br /><br />
+
+		Imposta questo colore dal nome del colore. Più veloce del metodo [page:.setStyle] se non hai bisogno di altri formati in stile CSS.<br/><br/>
+
+		Per convenienza, la lista dei nomi è esposta in Color.NAMES come un hash: <code>Color.NAMES.aliceblue // returns 0xF0F8FF</code>
+		</p>
+
+		<h3>[method:this sub]( [param:Color color] ) </h3>
+		<p>
+			Sottrae i componenti RGB del colore dato dai componenti RGB di questo colore.
+			Se questo ritorna un componente negativo, tale componente viene impostato a zero.
+		</p>
+
+		<h3>[method:Array toArray]( [param:Array array], [param:Integer offset] ) </h3>
+		<p>
+		[page:Array array] - Un array opzionale in cui memorizzare il colore. <br />
+		[page:Integer offset] - Un offset opzionale nell'array.<br /><br />
+
+		Restituisce un array della forma [ r, g, b ].
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 76 - 0
docs/api/it/math/Cylindrical.html

@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			[link:https://en.wikipedia.org/wiki/Cylindrical_coordinate_system Coordinate cilindriche] di un punto.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Float radius], [param:Float theta], [param:Float y] )</h3>
+		<p>
+		[page:Float radius] - distanza dall'origine a un punto nel piano x-z.
+		Il valore predefinito è `1.0`.<br />
+		[page:Float theta] - angolo in senso antiorario nel piano x-z misurato in radianti dall'asse z positivo.
+		Il valore predefinito è `0`.<br />
+		[page:Float y] - altezza sopra il piano x-z. Il valore predefinito è `0`.
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Float radius]</h3>
+
+		<h3>[property:Float theta]</h3>
+
+		<h3>[property:Float y]</h3>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Cylindrical clone]()</h3>
+		<p>
+			Restituisce un nuovo cilindro con le stesse proprietà [page:.radius radius], [page:.theta theta]
+			e [page:.y y] di questo.
+		</p>
+
+		<h3>[method:this copy]( [param:Cylindrical other] )</h3>
+		<p>
+			Copia i valori delle proprietà [page:.radius radius], [page:.theta theta]
+			e [page:.y y] del cilindro passato in questo cilindro.
+		</p>
+
+		<h3>[method:this set]( [param:Float radius], [param:Float theta], [param:Float y] )</h3>
+		<p>
+			Imposta i valori delle proprietà [page:.radius radius], [page:.theta theta]
+			e [page:.y y] di questo cilindro.
+		</p>
+
+		<h3>[method:this setFromVector3]( [param:Vector3 vec3] )</h3>
+		<p>
+			Imposta i valori delle proprietà [page:.radius radius], [page:.theta theta]
+			e [page:.y y] di questo cilindro dal [page:Vector3 Vector3].
+		</p>
+
+		<h3>[method:this setFromCartesianCoords]( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+			Imposta i valori delle proprietà [page:.radius radius], [page:.theta theta]
+			e [page:.y y] di questo cilindro dalle coordinate cartesiane.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 161 - 0
docs/api/it/math/Euler.html

@@ -0,0 +1,161 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Una classe che rappresenta gli [link:http://en.wikipedia.org/wiki/Euler_angles angoli di Eulero].<br /><br />
+
+			Gli angoli di eulero descrivono una trasformazione rotazionale ruotando un oggetto sui suoi vari assi 
+			in quantità specifiche per asse, e in un ordine specificato per asse.
+		</p>
+
+		<p>
+			L'iterazione di un'istanza di [name] produce le sue componenti (x, y, z, order) nell'ordine corrispondente.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>const a = new THREE.Euler( 0, 1, 1.57, 'XYZ' );
+		const b = new THREE.Vector3( 1, 0, 1 );
+		b.applyEuler(a);
+		</code>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Float x], [param:Float y], [param:Float z], [param:String order] )</h3>
+		<p>
+		[page:Float x] - (opzionale) l'angolo dell'asse x in radianti. Il valore predefinito è `0`.<br />
+		[page:Float y] - (opzionale) l'angolo dell'asse y in radianti. Il valore predefinito è `0`.<br />
+		[page:Float z] - (opzionale) l'angolo dell'asse z in radianti. Il valore predefinito è `0`.<br />
+		[page:String order] - (opzionale) una stringa che rappresenta l'ordine in cui vengono applicate le rotazioni,
+		il valore predefinito è 'XYZ' (deve essere in maiuscolo).<br /><br />
+
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Boolean isEuler]</h3>
+		<p>
+			Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].
+		</p>
+
+		<h3>[property:String order]</h3>
+		<p>
+			L'ordine in cui applicare le rotazioni. Il valore predefinito è 'XYZ', questo significa che l'oggetto 
+			verrà ruotato prima intorno all'asse X, poi intorno all'asse Y e infine intorno all'asse Z. Altre possibilità sono:
+			'YZX', 'ZXY', 'XZY', 'YXZ' e 'ZYX'. Queste devono essere in maiuscolo.<br /><br />
+
+			Three.js utilizza gli angoli Tait-Bryan `intrinseci`. Questo significa che le rotazioni vengono eseguite 
+			rispettando il sistema di coordinate `locale`. Cioè per l'ordine 'XYZ', la rotazione verrà prima eseguita
+			intorno all'asse locale X (il che è lo stesso dell'asse world X), poi intorno all'asse locale Y (che può essere diversa dall'asse
+			world Y), ed infine intorno all'asse Z (che può essere diversa dall'asse world Z).
+		</p>
+
+		<h3>[property:Float x]</h3>
+		<p>
+			Il valore corrente del componente x.
+		</p>
+
+		<h3>[property:Float y]</h3>
+		<p>
+			Il valore corrente del componente y.
+		</p>
+
+		<h3>[property:Float z]</h3>
+		<p>
+			Il valore corrente del componente z.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this copy]( [param:Euler euler] )</h3>
+		<p>Copia il valore di [page:Euler Eulero] in questo Eulero.</p>
+
+		<h3>[method:Euler clone]()</h3>
+		<p>Restituisce un nuovo Eulero con gli stessi parametri di questo.</p>
+
+		<h3>[method:Boolean equals]( [param:Euler euler] )</h3>
+		<p>Verifica la stretta uguaglianza di questo Eulero ed [page:Euler Eulero].</p>
+
+		<h3>[method:this fromArray]( [param:Array array] )</h3>
+		<p>
+		[page:Array array] di lunghezza 3 o 4. Il quarto argomento, opzionale, corrisponde all'[page:.order order].<br /><br />
+
+		Assegna l'angolo [page:.x x] di questo Eulero a `array[0]`. <br />
+		Assegna l'angolo [page:.y y] di questo Eulero a `array[1]`. <br />
+		Assegna l'angolo [page:.z z] di questo Eulero a `array[2]`. <br />
+		Facoltativamente, assegna [page:.order order] di questo Eulero a `array[3]`.
+		</p>
+
+		<h3>[method:this reorder]( [param:String newOrder] )</h3>
+		<p>
+			Reimposta l'angolo di eulero con un nuovo ordine creando un quaternione da questo angolo di Eulero 
+			e quindi impostando questo angolo di Eulero con il quaternione ed il nuovo ordine.<br /><br />
+
+		<em>*Attenzione*: questo scarta le informazioni sulla rivoluzione.</em>
+		</p>
+
+		<h3>[method:this set]( [param:Float x], [param:Float y], [param:Float z], [param:String order] )</h3>
+		<p>
+			[page:.x x] - l'angolo dell'asse x in radianti.<br />
+			[page:.y y] - l'angolo dell'asse y in radianti.<br />
+			[page:.z z] - l'angolo dell'asse z in radianti.<br />
+			[page:.order order] - (opzionale) una stringa che rappresenta l'ordine in cui vengono applicate le rotazioni.<br /><br />
+
+			Imposta gli angoli di questa trasformazione di Eulero e, facoltativamente, l'[page:.order ordine].
+		</p>
+
+		<h3>[method:this setFromRotationMatrix]( [param:Matrix4 m], [param:String order] )</h3>
+		<p>
+		[page:Matrix4 m] - una [page:Matrix4] di cui la parte superiore 3x3 della matrice è una
+		[link:https://en.wikipedia.org/wiki/Rotation_matrix matrice di rotazione] pura (cioè non scalata).<br />
+		[page:.order order] - (opzionale) una stringa che rappresenta l'ordine in cui vengono applicate le rotazioni.<br />
+
+		Imposta gli angoli di questa trasformazione di Eulero da una matrice di rotazione pura in base 
+		all'orientamento specificato dall'[page:.order ordine].
+		</p>
+
+		<h3>[method:this setFromQuaternion]( [param:Quaternion q], [param:String order] )</h3>
+		<p>
+		[page:Quaternion q] - un quaternione normalizzato.<br />
+		[page:.order order] - (opzionale) una stringa che rappresenta l'ordine in cui vengono applicate le rotazioni.<br />
+
+		Imposta gli angoli di questa trasformazione di Eulero da un quaternione normalizzato in base all'orientamento
+		specificato dall'[page:.order ordine].
+		</p>
+
+
+		<h3>[method:this setFromVector3]( [param:Vector3 vector], [param:String order] )</h3>
+		<p>
+		[page:Vector3 vector] - [page:Vector3].<br />
+		[page:.order order] - (opzionale) una stringa che rappresenta l'ordine in cui vengono applicate le rotazioni.<br />
+
+		Imposta [page:.x x], [page:.y y] e [page:.z z], e facoltativamente aggiorna l'[page:.order ordine].
+		</p>
+
+
+		<h3>[method:Array toArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - (opzionale) un array per memorizzare l'Eulero.<br />
+		[page:Integer offset] - (opzionale) offset nell'array.<br />
+
+		Restituisce un array della forma [[page:.x x], [page:.y y], [page:.z z], [page:.order order]].
+	</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 111 - 0
docs/api/it/math/Frustum.html

@@ -0,0 +1,111 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Il [link:http://en.wikipedia.org/wiki/Frustum Frustum] viene utilizzato per determinare cosa c'è 
+			all'interno del campo visivo della telecamera. Aiuta ad accellerare il processo di rendering - 
+			gli oggetti che si trovano al di fuori del frustum della telecamera possono essere tranquillamente
+			esclusi dal rendering.<br /><br />
+
+			Questa classe è principalmente pensata per l'uso interno da parte di un renderer per il calcolo
+			di una [page:Camera telecamera] o dal frustum della [page:LightShadow.camera shadowCamera].
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]([param:Plane p0], [param:Plane p1], [param:Plane p2], [param:Plane p3], [param:Plane p4], [param:Plane p5])</h3>
+		<p>
+			[page:Plane p0] - (opzionale) impostato su un nuovo [page:Plane].<br />
+			[page:Plane p1] - (opzionale) impostato su un nuovo [page:Plane].<br />
+			[page:Plane p2] - (opzionale) impostato su un nuovo [page:Plane].<br />
+			[page:Plane p3] - (opzionale) impostato su un nuovo [page:Plane].<br />
+			[page:Plane p4] - (opzionale) impostato su un nuovo [page:Plane].<br />
+			[page:Plane p5] - (opzionale) impostato su un nuovo [page:Plane].<br /><br />
+
+			Crea un nuovo [name].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Array planes]</h3>
+		<p>Array di 6 [page:Plane piani].</p>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Frustum clone]()</h3>
+		<p>Restituisce un nuovo Frustum con gli stessi parametri di questo.</p>
+
+
+		<h3>[method:Boolean containsPoint]( [param:Vector3 point] )</h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3] di test.<br /><br />
+
+		Verifica se il frustum contiene il [page:Vector3 punto].
+		</p>
+
+		<h3>[method:this copy]( [param:Frustum frustum] )</h3>
+		<p>
+		[page:Frustum frustum] - Il frustum da copiare<br /><br />
+
+		Copia le proprietà del [page:Frustum frustum] passato in questo.
+		</p>
+
+		<h3>[method:Boolean intersectsBox]( [param:Box3 box] )</h3>
+		<p>
+		[page:Box3 box] - [page:Box3] per verificare l'intersezione.<br /><br />
+
+		Restituisce true se il [page:Box3 box] si interseca con questo frustum.
+		</p>
+
+		<h3>[method:Boolean intersectsObject]( [param:Object3D object] )</h3>
+		<p>
+			Verifica se la [page:BufferGeometry.boundingSphere bounding sphere] dell'[page:Object3D oggetto] sta intersecando il frustum.<br /><br />
+
+			Si noti che l'oggetto deve avere una [page:BufferGeometry geometria] così che la bounding sphere possa essere calcolata.
+		</p>
+
+		<h3>[method:Boolean intersectsSphere]( [param:Sphere sphere] )</h3>
+		<p>
+		[page:Sphere sphere] - [page:Sphere] per verificare l'intersezione.<br /><br />
+
+		Restituisce true se la [page:Sphere sfera] si interseca con questo frustum.
+		</p>
+
+		<h3>[method:Boolean intersectsSprite]( [param:Sprite sprite] )</h3>
+		<p>
+			Verifica se la [page:Sprite sprite] si interseca con il frustum.
+		</p>
+
+		<h3>[method:this set]( [param:Plane p0], [param:Plane p1], [param:Plane p2], [param:Plane p3], [param:Plane p4], [param:Plane p5] )</h3>
+		<p>
+			Imposta il frustum dai piani passati. Nessun ordine dei piani è implicito.<br>
+			Si noti che questo metodo copia solo i valori degli oggetti dati.
+		</p>
+
+		<h3>[method:this setFromProjectionMatrix]( [param:Matrix4 matrix] )</h3>
+		<p>
+		[page:Matrix4 matrix] - La [page:Matrix4] di proiezione utilizzata per impostare i [page:.planes planes]<br /><br />
+
+		Imposta i piani del frustum dalla matrice di proiezione.
+		</p>
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 80 - 0
docs/api/it/math/Interpolant.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Classe base astratta di interpolanti su campioni parametrici.<br /><br />
+
+			Il dominio del parametro è unidimensionale, tipicamente il tempo o un path lungo una curva definita dai dati.<br /><br />
+
+			I valori campione possono avere qualsiasi dimensionalità e le classi derivate possono applicare interpolazioni ai dati.<br /><br />
+
+			Questa classe fornisce l'intervallo di ricerca in un Metodo Modello, rinviando l'interpolazione effettiva alle classi derivate.<br /><br />
+
+			La complessità del tempo è `O(1)` per l'accesso lineare che attraversa al massimo due punti e `O(log N)` per l'accesso casuale,
+			dove *N* è il numero di posizioni.<br /><br />
+
+			Riferimenti:	[link:http://www.oodesign.com/template-method-pattern.html http://www.oodesign.com/template-method-pattern.html]
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )</h3>
+		<p>
+		parameterPositions -- array di posizioni<br />
+		sampleValues -- array di campioni<br />
+		sampleSize -- numero di campioni<br />
+		resultBuffer -- buffer in cui memorizzare i risultati dell'interpolazione.<br /><br />
+
+		Nota: Questa classe non è pensata per essere chiamata direttamente.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:null parameterPositions]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null resultBuffer]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null sampleValues]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Object settings]</h3>
+		<p>
+			Opzionale, struttura delle impostazioni e specifica della sottoclasse.
+		</p>
+
+		<h3>[property:null valueSize]</h3>
+		<p>
+
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Array evaluate]( [param:Number t] )</h3>
+		<p>
+			Valuta l'interpolazione in posizione *t*.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 118 - 0
docs/api/it/math/Line3.html

@@ -0,0 +1,118 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">Un segmento di linea geometrico rappresentato da un punto iniziale e uno finale.</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Vector3 start], [param:Vector3 end] )</h3>
+		<p>
+		[page:Vector3 start] - Inizio del segmento. Il valore predefinito è `(0, 0, 0)`.<br />
+		[page:Vector3 end] - Fine del segmento. Il valore predefinito è `(0, 0, 0)`.<br /><br />
+
+		Crea un nuovo [name].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Vector3 start]</h3>
+		<p>[page:Vector3] che rappresenta il punto di inizio della linea.</p>
+
+		<h3>[property:Vector3 end]</h3>
+		<p>[page:Vector3] che rappresenta il punto di fine della linea.</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix] )</h3>
+		<p>Applica una matrice di trasformazione al segmento.</p>
+
+		<h3>[method:Vector3 at]( [param:Float t], [param:Vector3 target] )</h3>
+		<p>
+		[page:Float t] - Utilizza i valori 0-1 per restituire una posizione lungo il segmento. <br />
+		[page:Vector3 target] — il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Restituisce un vettore in una determinata posizione lungo la linea. Quando [page:Float t] = 0, restituisce il vettore iniziale,
+		e quando [page:Float t] = 1 restituisce il vettore finale.<br />
+		</p>
+
+		<h3>[method:Line3 clone]()</h3>
+		<p>Restituisce un nuovo [page:Line3] con gli stessi vettori [page:.start start] e [page:.end end] di questo.</p>
+
+		<h3>[method:Vector3 closestPointToPoint]( [param:Vector3 point], [param:Boolean clampToLine], [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 point] - restituisce il punto più vicino alla linea a questo punto.<br />
+		[page:Boolean clampToLine] - indica se bloccare o meno il valore restituito al segmento.<br />
+		[page:Vector3 target] - il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Restituisce il punto più vicino alla linea. Se [page:Boolean clampToLine] è true, allora il valore restituito verrà bloccato alla linea.
+		</p>
+
+		<h3>[method:Float closestPointToPointParameter]( [param:Vector3 point], [param:Boolean clampToLine] )</h3>
+		<p>
+		[page:Vector3 point] - il punto per il quale restituire un parametro punto.<br />
+		[page:Boolean clampToLine] - indica se bloccare o meno il risultato nell'intervallo `[0, 1]`.<br /><br />
+
+		Restituisce un parametro punto basato sul punto più vicino come proiettato sul segmento.
+		Se [page:Boolean clampToLine] è true, allora il valore restituito sarà tra 0 e 1.
+		</p>
+
+		<h3>[method:this copy]( [param:Line3 line] )</h3>
+		<p>Copia i vettori [page:.start start] e [page:.end end] della linea passati in questa linea.</p>
+
+		<h3>[method:Vector3 delta]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] - il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Restituisce il vettore delta del segmento (vettore [page:.end end] meno il vettore [page:.start start]).
+		</p>
+
+		<h3>[method:Float distance]()</h3>
+		<p>Restituisce la [link:https://en.wikipedia.org/wiki/Euclidean_distance distanza Euclidea] 
+			(distanza in linea retta) tra i punti [page:.start start] e [page:.end end] della linea.</p>
+
+		<h3>[method:Float distanceSq]()</h3>
+		<p>
+			Restituisce il quadrato della  [link:https://en.wikipedia.org/wiki/Euclidean_distance distanza Euclidea] 
+			(distanza in linea retta) tra i vettori [page:.start start] e [page:.end end] della linea.
+		</p>
+
+		<h3>[method:Boolean equals]( [param:Line3 line] )</h3>
+		<p>
+		[page:Line3 line]  - [page:Line3] da confrontare con questo.<br /><br />
+
+		Restituisce true se entrambi i punti [page:.start start] e [page:.end end] della linea sono uguali.
+		</p>
+
+		<h3>[method:Vector3 getCenter]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] — il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Restituisce il centro del segmento.
+		</p>
+
+		<h3>[method:this set]( [param:Vector3 start], [param:Vector3 end] )</h3>
+		<p>
+		[page:Vector3 start] - imposta il punto [page:.start start] della linea.<br />
+		[page:Vector3 end] - imposta il punto [page:.end end] della linea.<br /><br />
+
+		Imposta i valori start ed end copiando i vettori forniti.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 161 - 0
docs/api/it/math/MathUtils.html

@@ -0,0 +1,161 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">Un oggetto con molte funzioni matematiche di utilità.</p>
+
+		<h2>Funzioni</h2>
+
+		<h3>[method:Float clamp]( [param:Float value], [param:Float min], [param:Float max] )</h3>
+		<p>
+		[page:Float value] — Valore che deve essere fissato.<br />
+		[page:Float min] — Valore minimo.<br />
+		[page:Float max] — Valore massimo.<br /><br />
+
+		Fissa il [page:Float value] tra il [page:Float min] e il [page:Float max].
+		</p>
+
+		<h3>[method:Float degToRad]( [param:Float degrees] )</h3>
+		<p>Converte i gradi in radianti.</p>
+
+		<h3>[method:Integer euclideanModulo]( [param:Integer n], [param:Integer m] )</h3>
+		<p>
+		[page:Integer n], [page:Integer m] - Interi<br /><br />
+
+		Calcola il modulo Euclideo di [page:Integer m] % [page:Integer n], che è:
+		<code>( ( n % m ) + m ) % m</code>
+		</p>
+
+		<h3>[method:UUID generateUUID]( )</h3>
+		<p>
+		Genera un'[link:https://en.wikipedia.org/wiki/Universally_unique_identifier UUID]
+		(universally unique identifier).
+		</p>
+
+		<h3>[method:Boolean isPowerOfTwo]( [param:Number n] )</h3>
+		<p>Restituisce `true` se [page:Number n] è una potenza di 2.</p>
+
+		<h3>[method:Float inverseLerp]( [param:Float x], [param:Float y], [param:Float value] )</h3>
+		<p>
+		[page:Float x] - Punto di inizio.<br />
+		[page:Float y] - Punto di fine.<br />
+		[page:Float value] - Un valore tra l'inizio e la fine.<br><br />
+
+		Restituisce la percentuale nell'intervallo chiuso `[0, 1]` del valore dato tra il punto di inizio e di fine.
+		</p>
+
+		<h3>[method:Float lerp]( [param:Float x], [param:Float y], [param:Float t] )</h3>
+		<p>
+		[page:Float x] - Punto di inizio. <br />
+		[page:Float y] - Punto di fine. <br />
+		[page:Float t] - Fattore di interpolazione nell'intervallo chiuso `[0, 1]`.<br><br />
+
+		Restituisce un valore [link:https://en.wikipedia.org/wiki/Linear_interpolation interpolato linearmente]
+		da due punti noti in base all'intervallo dato - [page:Float t] = 0 restituirà [page:Float x]
+		e [page:Float t] = 1 restituirà [page:Float y].
+		</p>
+
+		<h3>[method:Float damp]( [param:Float x], [param:Float y], [param:Float lambda], [param:Float dt] )</h3>
+		<p>
+		[page:Float x] - Punto corrente. <br />
+		[page:Float y] - Punto target. <br />
+		[page:Float lambda] - Un valore lambda più alto renderà il movimento più improvviso, e un valore più basso renderà il movimento più graduale. <br />
+		[page:Float dt] - Il tempo delta in secondi.<br><br />
+
+		Interpola in modo fluido un numero da [page:Float x] a [page:Float y] in modo simile ad una molla usando [page:Float dt]
+		per mantenere il movimento indipendente dalla frequenza dei fotogrammi. Per i dettagli, vedere 
+		[link:http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/ Smorzamento indipendente dalla frequenza dei fotogrammi mediante lerp].
+		</p>
+
+		<h3>[method:Float mapLinear]( [param:Float x], [param:Float a1], [param:Float a2], [param:Float b1], [param:Float b2] )</h3>
+		<p>
+		[page:Float x] — Valore da mappare.<br />
+		[page:Float a1] — Minimo valore per il range A.<br />
+		[page:Float a2] — Massimo valore per il range A.<br />
+		[page:Float b1] — Minimo valore per il range B.<br />
+		[page:Float b2] — Massimo valore per il range B.<br /><br />
+
+		Mappa lineare di [page:Float x] dall'intervallo [[page:Float a1], [page:Float a2]] all'intervallo [[page:Float b1], [page:Float b2]].
+		</p>
+
+		<h3>[method:Float pingpong]( [param:Float x], [param:Float length] )</h3>
+		<p>
+		[page:Float x] — Il valore del pingpong.<br />
+		[page:Float length] — Il valore positivo a cui la funzione farà pingpong. Il valore predefinito è 1.<br /><br />
+
+		Restituisce un valore che alterna tra 0 e [param:Float length].
+		</p>
+
+		<h3>[method:Integer ceilPowerOfTwo]( [param:Number n] )</h3>
+		<p>Restituisce la potenza di 2 più piccola, maggiore o uguale a [page:Number n].</p>
+
+		<h3>[method:Integer floorPowerOfTwo]( [param:Number n] )</h3>
+		<p>Restituisce la massima potenza di 2, minore o uguale a [page:Number n].</p>
+
+		<h3>[method:Float radToDeg]( [param:Float radians] )</h3>
+		<p>Coverte i radianti in gradi.</p>
+
+		<h3>[method:Float randFloat]( [param:Float low], [param:Float high] )</h3>
+		<p>Float casuale nell'intervallo [[page:Float low], [page:Float high]].</p>
+
+		<h3>[method:Float randFloatSpread]( [param:Float range] )</h3>
+		<p>Float casuale nell'intervallo [- [page:Float range] / 2, [page:Float range] / 2].</p>
+
+		<h3>[method:Integer randInt]( [param:Integer low], [param:Integer high] )</h3>
+		<p>Intero casuale nell'intervallo [[page:Float low], [page:Float high]].</p>
+
+		<h3>[method:Float seededRandom]( [param:Integer seed] )</h3>
+		<p>Float pseudocasuale deterministico nell'intervallo `[0, 1]`. L'intero [page:Integer seed] è opzionale.</p>
+
+		<h3>[method:Float smoothstep]( [param:Float x], [param:Float min], [param:Float max] )</h3>
+		<p>
+		[page:Float x] - Il valore da valutare in base alla sua posizione tra il min e il max. <br />
+		[page:Float min] - Qualsiasi valore di x sotto il min sarà 0.<br />
+		[page:Float max] - Qualsiasi valore di x sopra il max sarà 1.<br /><br />
+
+		Restituisce un valore compreso tra 0-1 che rappresenta la percentuale di spostamento di x tra il min e il max,
+		ma attenuata o rallentata quanto più X si avvicina al minimo e al massimo.<br/><br/>
+
+		Vedi [link:http://en.wikipedia.org/wiki/Smoothstep Smoothstep] per i dettagli.
+		</p>
+
+		<h3>[method:Float smootherstep]( [param:Float x], [param:Float min], [param:Float max] )</h3>
+		<p>
+		[page:Float x] - Il valore da valutare in base alla sua posizione tra il min e il max. <br />
+		[page:Float min] - Qualsiasi valore di x sotto il min sarà 0.<br />
+		[page:Float max] - Qualsiasi valore di x sopra il max sarà 1.<br /><br />
+
+		Restituisce un valore compreso tra 0-1. Una [link:https://en.wikipedia.org/wiki/Smoothstep#Variations variazione su smoothstep]
+		che ha zero derivare di primo e secondo ordine a x=0 e x=1.
+		</p>
+
+		<h3>[method:undefined setQuaternionFromProperEuler]( [param:Quaternion q], [param:Float a], [param:Float b], [param:Float c], [param:String order] )</h3>
+		<p>
+		[page:Quaternion q] - Il quaternione da impostare.<br />
+		[page:Float a] - La rotazione applicata al primo asse, in radianti.<br />
+		[page:Float b] - La rotazione applicata al secondo asse, in radianti.<br />
+		[page:Float c] - La rotazione applicata al terzo asse, in radianti.<br />
+		[page:String order] - una stringa che specifica l'ordine degli assi: 'XYX', 'XZX', 'YXY', 'YZY', 'ZXZ', o 'ZYZ'<br /><br />
+
+		Imposta il quaternione [page:Quaternion q] dagli [link:http://en.wikipedia.org/wiki/Euler_angles angoli di Eulero propri intrinseci] definiti 
+		dagli angoli [page:Float a], [page:Float b], e [page:Float c], e dall'ordine [page:String order].<br />
+
+		Le rotazioni vengono applicate agli assi nell'ordine specificato da [page:String order]:
+		la rotazione per l'angolo [page:Float a] viene applicata per prima, poi l'angolo [page:Float b], infine l'angolo [page:Float c].
+		Gli angoli sono in radianti.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 208 - 0
docs/api/it/math/Matrix3.html

@@ -0,0 +1,208 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Una classe che rappresenta una [link:https://en.wikipedia.org/wiki/Matrix_(mathematics) matrice] 3x3.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+		<code>
+const m = new Matrix3();
+		</code>
+
+		<h2>Una nota sull'ordine delle Row-Major (righe principali) e delle Column-Major (colonne principali)</h2>
+		<p>
+			Il metodo [page:set]() accetta gli argomenti in ordine 
+			[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order row-major], mentre internamente 
+			vengono memorizzati nell'array [page:.elements elements] nell'ordine column-major.<br /><br />
+
+			Ciò significa che la chiamata a
+		<code>
+m.set( 11, 12, 13,
+       21, 22, 23,
+       31, 32, 33 );
+		</code>
+		risulterà nell'array [page:.elements elements] contenente:
+		<code>
+m.elements = [ 11, 21, 31,
+              12, 22, 32,
+              13, 23, 33 ];
+		</code>
+		e internamente tutti i calcoli vengono eseguiti utilizzando l'ordine column-major. Tuttavia, poiché l'ordine 
+		effettivo non fa alcune differenza matematicamente e la maggior parte delle persone è abituata a pensare alle
+		matrici nell'ordine row-major, la documentazione di three.js mostra le matrici in ordine di row-major.
+		Tieni solo a mente che se stai leggendo il codice sorgente, dovrai prendere la [link:https://en.wikipedia.org/wiki/Transpose trasposizione]
+		di tutte le matrici qui descritte per dare un senso ai calcoli.
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]()</h3>
+		<p>
+			Crea e inizializza [name] nella 
+			[link:https://en.wikipedia.org/wiki/Identity_matrix matrice] identità 3x3.
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Array elements]</h3>
+		<p>
+			Una lista di [link:https://en.wikipedia.org/wiki/Row-_and_column-major_order column-major] 
+			di valori della matrice.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Matrix3 clone]()</h3>
+		<p>Crea una Matrix3 con elementi identici a questa.</p>
+
+		<h3>[method:this copy]( [param:Matrix3 m] )</h3>
+		<p>Copia gli elementi della matrice [page:Matrix3 m] in questa matrice.</p>
+
+		<h3>[method:Float determinant]()</h3>
+		<p>
+			Calcola e restituisce il [link:https://en.wikipedia.org/wiki/Determinant determinante] di questa matrice.
+		</p>
+
+		<h3>[method:Boolean equals]( [param:Matrix3 m] )</h3>
+		<p>Restituisce true se questa matrice e [page:Matrix3 m] sono uguali.</p>
+
+		<h3>[method:this extractBasis]( [param:Vector3 xAxis], [param:Vector3 yAxis], [param:Vector3 zAxis] )</h3>
+		<p>
+			Estrae la [link:https://en.wikipedia.org/wiki/Basis_(linear_algebra) base] di questa matrice
+			nei tre vettori asse forniti. Se questa matrice è:
+		<code>
+a, b, c,
+d, e, f,
+g, h, i
+		</code>
+		allora [page:Vector3 xAxis], [page:Vector3 yAxis], [page:Vector3 zAxis] saranno impostate a:
+		<code>
+xAxis = (a, d, g)
+yAxis = (b, e, h)
+zAxis = (c, f, i)
+		</code>
+		</p>
+
+		<h3>[method:this fromArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - l'array da cui leggere gli elementi.<br />
+		[page:Integer offset] - (opzionale) indice del primo elemento nell'array. Il valore predefinito è 0.<br /><br />
+
+		Imposta gli elementi di questa matrice in base ad un array nel formato
+		[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major].
+		</p>
+
+		<h3>[method:this invert]()</h3>
+		<p>
+			Inverte questa matrice, utilizzando il [link:https://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution metodo analitico].
+
+			Non puoi invertire con un determinante zero. Se si tenta questo, il metodo produce invece una matrice zero.
+		</p>
+
+		<h3>[method:this getNormalMatrix]( [param:Matrix4 m] )</h3>
+		<p>
+		[page:Matrix4 m] - [page:Matrix4]<br /><br />
+
+		Imposta questa matrice come 3x3 in alto a sinistra della [link:https://en.wikipedia.org/wiki/Normal_matrix matrice normale]
+		della [page:Matrix4 matrix4] passata. La matrice normale è la [link:https://en.wikipedia.org/wiki/Transpose trasposta]
+		[link:https://en.wikipedia.org/wiki/Invertible_matrix inversa] della matrice [page:Matrix4 m].
+		</p>
+
+		<h3>[method:this identity]()</h3>
+		<p>
+			Reimposta questa matrice alla matrice identità 3x3:
+		<code>
+1, 0, 0
+0, 1, 0
+0, 0, 1
+		</code>
+
+		</p>
+
+		<h3>[method:this multiply]( [param:Matrix3 m] )</h3>
+		<p>Post-moltiplica questa matrice per [page:Matrix3 m].</p>
+
+		<h3>[method:this multiplyMatrices]( [param:Matrix3 a], [param:Matrix3 b] )</h3>
+		<p>Imposta questa matrice ad [page:Matrix3 a] x [page:Matrix3 b].</p>
+
+		<h3>[method:this multiplyScalar]( [param:Float s] )</h3>
+		<p>Moltiplica ogni componente della matrice per il valore scalare *s*.</p>
+
+		<h3>[method:this rotate]( [param:Float theta] )</h3>
+		<p>Ruota questa matrice dell'angolo dato (in radianti).</p>
+
+		<h3>[method:this scale]( [param:Float sx], [param:Float sy] )</h3>
+		<p>Ridimensiona questa matrice dei valori scalari passati.</p>
+
+		<h3>[method:this set]( [param:Float n11], [param:Float n12], [param:Float n13], [param:Float n21], [param:Float n22], [param:Float n23], [param:Float n31], [param:Float n32], [param:Float n33] )</h3>
+		<p>
+		[page:Float n11] - valore da inserire nella riga 1, colonna 1.<br />
+		[page:Float n12] - valore da inserire nella riga 1, colonna 2.<br />
+		...<br />
+		...<br />
+		[page:Float n32] - valore da inserire nella riga 3, colonna 2.<br />
+		[page:Float n33] - valore da inserire nella riga 3, colonna 3.<br /><br />
+
+		Imposta i valori della matrice 3x3 sulla sequenza di valori della
+		[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order row-major] specificata.
+		</p>
+
+		<h3>[method:this premultiply]( [param:Matrix3 m] )</h3>
+		<p>Pre-moltiplica questa matrice per [page:Matrix3 m].</p>
+
+		<h3>[method:this setFromMatrix4]( [param:Matrix4 m] )</h3>
+		<p>Imposta questa matrice sulla matrice 3x3 superiore di Matrix4 [page:Matrix4 m].</p>
+
+		<h3>[method:this setUvTransform]( [param:Float tx], [param:Float ty], [param:Float sx], [param:Float sy], [param:Float rotation], [param:Float cx], [param:Float cy] )</h3>
+		<p>
+		[page:Float tx] - offset x<br />
+		[page:Float ty] - offset y<br />
+		[page:Float sx] - repeat x<br />
+		[page:Float sy] - repeat y<br />
+		[page:Float rotation] - rotazione (in radianti)<br />
+		[page:Float cx] - centro x di rotazione<br />
+		[page:Float cy] - centro y di rotazione<br /><br />
+
+		Imposta la matrice di trasformazione UV da offset, ripetizione, rotazione e centro.
+		</p>
+
+		<h3>[method:Array toArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - (opzionale) array per memorizzare il vettore risultante. In caso contrario, verrà creato un nuovo array.<br />
+		[page:Integer offset] - (opzionale) offset nell'array in cui inserire il risultato.<br /><br />
+
+		Scrive gli elementi di questa matrice in una matrice in formato 
+		[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major].
+		</p>
+
+		<h3>[method:this translate]( [param:Float tx], [param:Float ty] )</h3>
+		<p>Trasla questa matrice dei valori scalari dati.</p>
+
+		<h3>[method:this transpose]()</h3>
+		<p>[link:https://en.wikipedia.org/wiki/Transpose Traspone] questa matrice al suo posto.</p>
+
+		<h3>[method:this transposeIntoArray]( [param:Array array] )</h3>
+		<p>
+		[page:Array array] - array per memorizzare il vettore risultante.<br /><br />
+
+		[link:https://en.wikipedia.org/wiki/Transpose Traspone] questa matrice nell'array fornito,
+		e ritorna immutato.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 418 - 0
docs/api/it/math/Matrix4.html

@@ -0,0 +1,418 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Una classe che rappresenta una [link:https://en.wikipedia.org/wiki/Matrix_(mathematics) matrice] 4x4.<br /><br />
+
+			L'uso più comune di una matrice 4x4 nella grafica 3D è come una 
+			[link:https://en.wikipedia.org/wiki/Transformation_matrix matrice di trasformazione].
+			
+			Per un'introduzione alle matrici di trasformazione utilizzate in WebGL, 
+			dai un'occhiata a [link:http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices questo tutorial].<br /><br />
+
+			Ciò consente ad un [page:Vector3] che rappresenta un punto nello spazio 3D di subire trasformazioni come traslazione, rotazione
+			taglio, scala, riflessione, proiezione ortogonale o prospettica e così via, moltiplicandosi per la matrice.
+			Questo è noto come `applicare` la matrice al vettore.<br /><br />
+
+			Ogni [page:Object3D] ha tre Matrix4 associate:
+			<ul>
+				<li>
+					[page:Object3D.matrix]: Questo memorizza la trasfomazione locale dell'oggetto. Questa è la trasformazione dell'oggetto rispetto al suo genitore.
+				</li>
+				<li>
+					[page:Object3D.matrixWorld]: La trasformazione globale o world dell'oggetto. Se l'oggetto non ha un genitore, allora questo è identico 
+					alla trasformazione locale memorizzata nella [page:Object3D.matrix matrix].
+				</li>
+				<li>
+					[page:Object3D.modelViewMatrix]: Questo rappresenta la trasformazione dell'oggetto rispetto al sistema di coordinate della telecamera.
+					Il modelViewMatrix dell'oggetto è il matrixWorld dell'oggetto pre-moltiplicato per il matrixWorldInverse della telecamera.
+				</li>
+			</ul>
+
+			Le [page:Camera Telecamere] hanno tre Matrix4 addizionali:
+			<ul>
+				<li>
+					[page:Camera.matrixWorldInverse]: La matrice di visualizzazione - l'inversa della [page:Object3D.matrixWorld matrixWorld] della telecamera.
+				</li>
+				<li>
+					[page:Camera.projectionMatrix]: Rappresenta le informazioni su come proiettare la scena nello spazio di ritaglio.
+				</li>
+				<li>
+					[page:Camera.projectionMatrixInverse]: L'inverso della projectionMatrix.
+				</li>
+			</ul>
+			Nota: [page:Object3D.normalMatrix] non è una Matrix4, ma una [page:Matrix3].
+		</p>
+
+		<h2>Una nota sull'ordine delle Row-Major (righe principali) e delle Column-Major (colonne principali)</h2>
+		<p>
+			Il metodo [page:set]() accetta gli argomenti in ordine 
+			[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order row-major], mentre internamente 
+			vengono memorizzati nell'array [page:.elements elements] nell'ordine column-major.<br /><br />
+
+			Ciò significa che la chiamata a
+		<code>
+const m = new THREE.Matrix4();
+
+m.set( 11, 12, 13, 14,
+       21, 22, 23, 24,
+       31, 32, 33, 34,
+       41, 42, 43, 44 );
+
+		</code>
+		risulterà nell'array [page:.elements elements] contenente:
+		<code>
+m.elements = [ 11, 21, 31, 41,
+               12, 22, 32, 42,
+               13, 23, 33, 43,
+               14, 24, 34, 44 ];
+		</code>
+		e internamente tutti i calcoli vengono eseguiti utilizzando l'ordine column-major. Tuttavia, poiché l'ordine 
+		effettivo non fa alcune differenza matematicamente e la maggior parte delle persone è abituata a pensare alle
+		matrici nell'ordine row-major, la documentazione di three.js mostra le matrici in ordine di row-major.
+		Tieni solo a mente che se stai leggendo il codice sorgente, dovrai prendere la [link:https://en.wikipedia.org/wiki/Transpose trasposizione]
+		di tutte le matrici qui descritte per dare un senso ai calcoli.
+		</p>
+
+		<h2>Estrazione della posizione, della rotazione e del ridimensionamento</h2>
+		<p>
+			Ci sono molte opzioni disponibili per l'estrazione della posizione, della rotazione e del ridimensionamento da una Matrix4.
+			<ul>
+				<li>
+					[page:Vector3.setFromMatrixPosition]: può essere utilizzato per estrarre il componente traslazione.
+				</li>
+				<li>
+					[page:Vector3.setFromMatrixScale]: può essere utilizzato per estrarre il componente ridimensionamento.
+				</li>
+				<li>
+					[page:Quaternion.setFromRotationMatrix], [page:Euler.setFromRotationMatrix] o [page:.extractRotation extractRotation] 
+					può essere utilizzato per estrarre il componente rotazione da una matrice pura (non ridimensionata).
+				</li>
+				<li>
+					[page:.decompose decompose] può essere utilizzato per estrarre la posizione, la rotazione e il ridemsionamento tutti in uno.
+				</li>
+			</ul>
+		</p>
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]()</h3>
+
+		<p>
+			Crea e inizializza [name] nella [link:https://en.wikipedia.org/wiki/Identity_matrix matrice] identità 4x4.
+	</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Array elements]</h3>
+		<p>
+			Una lista di [link:https://en.wikipedia.org/wiki/Row-_and_column-major_order column-major] 
+			di valori della matrice.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Matrix4 clone]()</h3>
+		<p>Crea una nuova Matrix4 con gli [page:.elements elementi] identici a questa.</p>
+
+		<h3>[method:this compose]( [param:Vector3 position], [param:Quaternion quaternion], [param:Vector3 scale] )</h3>
+		<p>
+			Imposta questa matrice sulla trasformazione composta da [page:Vector3 posizione],
+			[page:Quaternion quaternione] e [page:Vector3 ridimensionamento].
+		</p>
+
+		<h3>[method:this copy]( [param:Matrix4 m] )</h3>
+		<p>Copia gli [page:.elements elementi] della matrice [page:Matrix4 m] in questa matrice.</p>
+
+		<h3>[method:this copyPosition]( [param:Matrix4 m] )</h3>
+		<p>
+			Copia il componente traslazione della matrice [page:Matrix4 m] fornita nel componente
+			trasformazione di questa matrice.
+		</p>
+
+		<h3>[method:this decompose]( [param:Vector3 position], [param:Quaternion quaternion], [param:Vector3 scale] )</h3>
+		<p>
+			Decompone questa matrice nei suoi componenti [page:Vector3 posizione], [page:Quaternion quaternione] e [page:Vector3 ridimensionamento].<br/><br/>
+			Nota: Non tutte le matrici si possono scomporre in questo modo. Per esempio, se un oggetto ha un genitore ridimensionato non uniformemente,
+			allora la matrice del mondo dell'oggetto potrebbe non essere scomponibile e questo metodo potrebbe non essere appropriato.
+		</p>
+
+		<h3>[method:Float determinant]()</h3>
+		<p>
+			Calcola e restituisce il 
+		[link:https://en.wikipedia.org/wiki/Determinant determinante] di questa matrice.<br /><br />
+
+		Sulla base del metodo [link:http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm qui] descritto.
+		</p>
+
+		<h3>[method:Boolean equals]( [param:Matrix4 m] )</h3>
+		<p>Restituisce true se questa matrice e [page:Matrix4 m] sono uguali.</p>
+
+		<h3>[method:this extractBasis]( [param:Vector3 xAxis], [param:Vector3 yAxis], [param:Vector3 zAxis] )</h3>
+		<p>
+			Estrae la [link:https://en.wikipedia.org/wiki/Basis_(linear_algebra) base] di questa matrice
+			nei tre vettori asse forniti. Se questa matrice è:
+		<code>
+a, b, c, d,
+e, f, g, h,
+i, j, k, l,
+m, n, o, p
+		</code>
+		allora [page:Vector3 xAxis], [page:Vector3 yAxis], [page:Vector3 zAxis] saranno impostate a:
+		<code>
+xAxis = (a, e, i)
+yAxis = (b, f, j)
+zAxis = (c, g, k)
+		</code>
+		</p>
+
+		<h3>[method:this extractRotation]( [param:Matrix4 m] )</h3>
+		<p>
+			Estrae il componente rotazione della matrice [page:Matrix4 m] fornita nel componente rotazione di questa matrice.
+		</p>
+
+		<h3>[method:this fromArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - l'array da cui leggere gli elementi.<br />
+		[page:Integer offset] - (opzionale) indice del primo elemento nell'array. Il valore predefinito è 0.<br /><br />
+
+		Imposta gli elementi di questa matrice in base ad un array nel formato
+		[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major].
+		</p>
+
+		<h3>[method:this invert]()</h3>
+		<p>
+			Inverte questa matrice, utilizzando il [link:https://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution metodo analitico].
+
+			Non puoi invertire con un determinante zero. Se si tenta questo, il metodo produce invece una matrice zero.
+		</p>
+
+		<h3>[method:Float getMaxScaleOnAxis]()</h3>
+		<p>Ottiene il valore di ridimensionamento massimo dei 3 assi.</p>
+
+		<h3>[method:this identity]()</h3>
+		<p>Reimposta questa matrice alla [link:https://en.wikipedia.org/wiki/Identity_matrix matrice] identità.</p>
+
+		<h3>[method:this lookAt]( [param:Vector3 eye], [param:Vector3 target], [param:Vector3 up] )</h3>
+		<p>
+			Costruisce una matrice di rotazione, guardando dall'[page:Vector3 occhio] verso il [page:Vector3 target] orientato dal
+			vettore verso l'[page:Vector3 alto].
+		</p>
+
+		<h3>[method:this makeRotationAxis]( [param:Vector3 axis], [param:Float theta] )</h3>
+		<p>
+		[page:Vector3 axis] — Asse di rotazione, deve essere normalizzata.<br />
+		[page:Float theta] — Angolo di rotazione in radianti.<br /><br />
+
+		Imposta questa matrice come trasformazione di rotazione attorno all'[page:Vector3 asse] di [page:Float theta] radianti.<br />
+
+		Questa è un'alternativa alquanto controversa ma matematicamente valida alla rotazione tramite [page:Quaternion Quaternions].
+		Vedi la discussione [link:https://www.gamedev.net/articles/programming/math-and-physics/do-we-really-need-quaternions-r1199 qui].
+		</p>
+
+		<h3>[method:this makeBasis]( [param:Vector3 xAxis], [param:Vector3 yAxis], [param:Vector3 zAxis] )</h3>
+		<p>
+			Imposta questo sulla matrice di [link:https://en.wikipedia.org/wiki/Basis_(linear_algebra) base] composta dai tre
+			vettori di base forniti:
+		<code>
+xAxis.x, yAxis.x, zAxis.x, 0,
+xAxis.y, yAxis.y, zAxis.y, 0,
+xAxis.z, yAxis.z, zAxis.z, 0,
+0,       0,       0,       1
+		</code>
+		</p>
+
+		<h3>[method:this makePerspective]( [param:Float left], [param:Float right], [param:Float top], [param:Float bottom], [param:Float near], [param:Float far] )</h3>
+		<p>
+			Crea una matrice di [link:https://en.wikipedia.org/wiki/3D_projection#Perspective_projection proiezione prospettica].
+			Questa è utilizzata internamente da [page:PerspectiveCamera.updateProjectionMatrix]().
+		</p>
+
+		<h3>[method:this makeOrthographic]( [param:Float left], [param:Float right], [param:Float top], [param:Float bottom], [param:Float near], [param:Float far] )</h3>
+		<p>
+			Crea una matrice di [link:https://en.wikipedia.org/wiki/Orthographic_projection proiezione ortografica].
+			Questa è utilizzata internamente da [page:OrthographicCamera.updateProjectionMatrix]().
+		</p>
+
+		<h3>[method:this makeRotationFromEuler]( [param:Euler euler] )</h3>
+		<p>
+			Imposta il componente rotazione (la matrice 3x3 in alto a sinistra) di questa matrice sulla rotazione specificata dal dato [page:Euler Angolo di Eulero].
+			Il resto della matrice è impostato sull'identità. A seconda dell'[page:Euler.order ordine] di [page:Euler Eulero], ci sono sei possibili esisti.
+			Vedi [link:https://en.wikipedia.org/wiki/Euler_angles#Rotation_matrix questa pagina] per una lista completa.
+		</p>
+
+		<h3>[method:this makeRotationFromQuaternion]( [param:Quaternion q] )</h3>
+		<p>
+			Imposta il componente rotazinoe di questa matrice alla rotazione specificata da [page:Quaternion q], come 
+			descritto [link:https://en.wikipedia.org/wiki/Rotation_matrix#Quaternion qui].
+			Il resto della matrice è impostato all'identità. Quindi, dato [page:Quaternion q] = w + xi + yj + zk, la matrice risultante sarà:
+		<code>
+1-2y²-2z²    2xy-2zw    2xz+2yw    0
+2xy+2zw      1-2x²-2z²  2yz-2xw    0
+2xz-2yw      2yz+2xw    1-2x²-2y²  0
+0            0          0          1
+		</code>
+		</p>
+
+		<h3>[method:this makeRotationX]( [param:Float theta] )</h3>
+		<p>
+		[page:Float theta] — Angolo rotazione in radianti.<br /><br />
+
+		Imposta questa matrice come una trasformazione rotazionale attorno all'asse X in radianti theta [page:Float theta] (&theta;).
+		La matrice risultante sarà:
+		<code>
+1 0      0        0
+0 cos(&theta;) -sin(&theta;)  0
+0 sin(&theta;) cos(&theta;)   0
+0 0      0        1
+		</code>
+		</p>
+
+		<h3>[method:this makeRotationY]( [param:Float theta] )</h3>
+		<p>
+		[page:Float theta] — Angolo rotazione in radianti.<br /><br />
+
+		Imposta questa matrice come una trasformazione rotazionale attorno all'asse Y in radianti theta [page:Float theta] (&theta;).
+		La matrice risultante sarà:
+		<code>
+cos(&theta;)  0 sin(&theta;) 0
+0       1 0      0
+-sin(&theta;) 0 cos(&theta;) 0
+0       0 0      1
+		</code>
+		</p>
+
+		<h3>[method:this makeRotationZ]( [param:Float theta] )</h3>
+		<p>
+		[page:Float theta] — Angolo rotazione in radianti.<br /><br />
+
+		Imposta questa matrice come una trasformazione rotazionale attorno all'asse Z in radianti theta [page:Float theta] (&theta;).
+		La matrice risultante sarà:
+		<code>
+cos(&theta;) -sin(&theta;) 0 0
+sin(&theta;) cos(&theta;)  0 0
+0      0       1 0
+0      0       0 1
+		</code>
+		</p>
+
+		<h3>[method:this makeScale]( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+			[page:Float x] - la quantità da scalare sull'asse X.<br />
+			[page:Float y] - la quantità da scalare sull'asse Y.<br />
+			[page:Float z] - la quantità da scalare sull'asse Z.<br /><br />
+
+			Imposta questa matrice come trasformazione di scala:
+			<code>
+x, 0, 0, 0,
+0, y, 0, 0,
+0, 0, z, 0,
+0, 0, 0, 1
+			</code>
+		</p>
+
+		<h3>[method:this makeShear]( [param:Float xy], [param:Float xz], [param:Float yx], [param:Float yz], [param:Float zx], [param:Float zy] )</h3>
+		<p>
+			[page:Float xy] - la quantità di taglio di X per Y.<br />
+			[page:Float xz] - la quantità di taglio di X per Z.<br />
+			[page:Float yx] - la quantità di taglio di Y per X.<br />
+			[page:Float yz] - la quantità di taglio di Y per Z.<br />
+			[page:Float zx] - la quantità di taglio di Z per X.<br />
+			[page:Float zy] - la quantità di taglio di Z per Y.<br /><br />
+
+			Imposta questa matrice come trasformata di taglio:
+<code>
+1,   yx,  zx,  0,
+xy,   1,  zy,  0,
+xz,  yz,   1,  0,
+0,    0,   0,  1
+</code>
+		</p>
+
+		<h3>[method:this makeTranslation]( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+			[page:Float x] - la quantità da translare sull'asse X.<br />
+			[page:Float y] - la quantità da translare sull'asse Y.<br />
+			[page:Float z] - la quantità da translare sull'asse Z.<br /><br />
+
+			Imposta questa matrice come una trasformata di traslazione:
+		<code>
+1, 0, 0, x,
+0, 1, 0, y,
+0, 0, 1, z,
+0, 0, 0, 1
+		</code>
+		</p>
+
+		<h3>[method:this multiply]( [param:Matrix4 m] )</h3>
+		<p>Post-moltiplica questa matrice per [page:Matrix4 m].</p>
+
+		<h3>[method:this multiplyMatrices]( [param:Matrix4 a], [param:Matrix4 b] )</h3>
+		<p>Imposta questa matrice a [page:Matrix4 a] x [page:Matrix4 b].</p>
+
+		<h3>[method:this multiplyScalar]( [param:Float s] )</h3>
+		<p>Moltiplica ogni componente della matrice per il valore scalare [page:Float s].</p>
+
+		<h3>[method:this premultiply]( [param:Matrix4 m] )</h3>
+		<p>Pre-moltiplica questa matrice per [page:Matrix4 m].</p>
+
+		<h3>[method:this scale]( [param:Vector3 v] )</h3>
+		<p>Moltiplica le colonne di questa matrice per il vettore [page:Vector3 v].</p>
+
+		<h3>[method:this set]( [param:Float n11], [param:Float n12], [param:Float n13], [param:Float n14], [param:Float n21], [param:Float n22], [param:Float n23], [param:Float n24], [param:Float n31], [param:Float n32], [param:Float n33], [param:Float n34], [param:Float n41], [param:Float n42], [param:Float n43], [param:Float n44] )</h3>
+		<p>
+			Imposta gli [page:.elements elementi] di questa matrice ai valori principali di row-major forniti [page:Float n11],
+			[page:Float n12], ... [page:Float n44].
+		</p>
+
+		<h3>[method:this setFromMatrix3]( [param:Matrix3 m] )</h3>
+		<p>Imposta gli elementi 3x3 superiori di questa matrice sui valori di Matrix3 [page:Matrix3 m].</p>
+
+		<h3>[method:this setPosition]( [param:Vector3 v] )</h3>
+		<h3>[method:this setPosition]( [param:Float x], [param:Float y], [param:Float z] ) // optional API</h3>
+		<p>
+			Imposta la componente posizione per questa matrice dal vettore [page:Vector3 v], senza influenzare 
+			il resto della matrice - ovvero se la matrice è attulmente:
+<code>
+a, b, c, d,
+e, f, g, h,
+i, j, k, l,
+m, n, o, p
+</code>
+Questa diventa:
+<code>
+a, b, c, v.x,
+e, f, g, v.y,
+i, j, k, v.z,
+m, n, o, p
+</code>
+		</p>
+
+		<h3>[method:Array toArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - (opzionale) array per memorizzare il vettore risultante.<br />
+		[page:Integer offset] - (opzionale) offset nell'array in cui inserire il risultato.<br /><br />
+		
+		Scrive gli elementi di questa matrice in una matrice in formato 
+		[link:https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major].
+		</p>
+
+		<h3>[method:this transpose]()</h3>
+		<p>[link:https://en.wikipedia.org/wiki/Transpose Traspone] questa matrice.</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 181 - 0
docs/api/it/math/Plane.html

@@ -0,0 +1,181 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			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.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Vector3 normal], [param:Float constant] )</h3>
+		<p>
+		[page:Vector3 normal] - (opzionale) un [page:Vector3] di lunghezza unitaria che definisce la normale del piano. Il valore predefinito è *(1, 0, 0)*.<br />
+		[page:Float constant] - (opzionale) la distanza con segno dall'origine al piano. Il valore predefinito è `0`.
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Boolean isPlane]</h3>
+		<p>
+			Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].
+		</p>
+
+		<h3>[property:Vector3 normal]</h3>
+
+		<h3>[property:Float constant]</h3>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix], [param:Matrix3 optionalNormalMatrix] )</h3>
+		<p>
+		[page:Matrix4 matrix] - la [Page:Matrix4] da applicare.<br />
+		[page:Matrix3 optionalNormalMatrix] - (opzionale) [Page:Matrix3] normale pre-calcolata della Matrix4 da applicare.<br /><br />
+
+		Applica una Matrix4 al piano. La matrice deve essere una trasformata affine e omogenea.<br />
+		Se si fornisce una [page:Matrix3 optionalNormalMatrix], può essere creata in questo modo:
+		<code>
+		const optionalNormalMatrix = new THREE.Matrix3().getNormalMatrix( matrix );
+		</code>
+		</p>
+
+		<h3>[method:Plane clone]()</h3>
+		<p>Restituisce un nuovo piano con la stessa [page:.normal normal] e [page:.constant constant] di questo piano.</p>
+
+		<h3>[method:Vector3 coplanarPoint]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] — il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Restituisce un [page:Vector3] complanare al piano, calcolando la proiezione del vettore normale all'origine sul piano.
+		</p>
+
+		<h3>[method:this copy]( [param:Plane plane] )</h3>
+		<p>
+			Copia i valori delle proprietà [page:.normal normal] e [page:.constant constant] del piano passato in questo piano.
+		</p>
+
+		<h3>[method:Float distanceToPoint]( [param:Vector3 point] )</h3>
+		<p>Restituisce la distanza con segno dal [page:Vector3 point] al piano.</p>
+
+		<h3>[method:Float distanceToSphere]( [param:Sphere sphere] )</h3>
+		<p>Restituisce la distanza con segno dalla [page:Sphere sphere] al piano.</p>
+
+		<h3>[method:Boolean equals]( [param:Plane plane] )</h3>
+		<p>
+			Controlla se due piani sono uguali (le loro proprietà [page:.normal normal] e
+			[page:.constant constant] coincidono).
+		</p>
+
+		<h3>[method:Vector3 intersectLine]( [param:Line3 line], [param:Vector3 target] )</h3>
+		<p>
+		[page:Line3 line] - [page:Line3] per verificare l'intersezione.<br />
+		[page:Vector3 target] — il risultato verrà copiato in questo Vector3.<br /><br />
+
+		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.
+		</p>
+
+		<h3>[method:Boolean intersectsBox]( [param:Box3 box] )</h3>
+		<p>
+		[page:Box3 box] - il [page:Box3] per verificare l'intersezione.<br /><br />
+
+		Determina se questo piano interseca il [page:Box3 box] o no.
+		</p>
+
+		<h3>[method:Boolean intersectsLine]( [param:Line3 line] )</h3>
+		<p>
+		[page:Line3 line] - la [page:Line3] per verificare l'intersezione.<br /><br />
+
+		Verifica se un segmento di linea si interseca (passa attraverso) il piano o no.
+		</p>
+
+		<h3>[method:Boolean intersectsSphere]( [param:Sphere sphere] )</h3>
+		<p>
+		[page:Sphere sphere]  - la [page:Sphere] per verificare l'intersezione.<br /><br />
+
+		Determina se questo piano interseca la [page:Sphere sphere] o no.
+		</p>
+
+		<h3>[method:this negate]()</h3>
+		<p>
+			Nega sia la normale che la costante.
+		</p>
+
+		<h3>[method:this normalize]()</h3>
+		<p>
+			Normalizza il vettore [page:.normal normal], e aggiusta di conseguenza il valore della 
+			[page:.constant constant].
+		</p>
+
+		<h3>[method:Vector3 projectPoint]( [param:Vector3 point], [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 point] - il [page:Vector3] da proiettare sul piano.<br />
+		[page:Vector3 target] — il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Proietta un [page:Vector3 point] sul piano.
+		</p>
+
+		<h3>[method:this set]( [param:Vector3 normal], [param:Float constant] )</h3>
+		<p>
+			[page:Vector3 normal] - un [page:Vector3] di lunghezza unitaria che definisce la normale del piano.<br />
+			[page:Float constant] - la distanza con segno dall'origine al piano. Il valore predefinito è `0`.<br /><br />
+
+			Imposta le proprietà [page:.normal normal] e [page:.constant constant] del piano copiando i valori dalla normale data.
+		</p>
+
+		<h3>[method:this setComponents]( [param:Float x], [param:Float y], [param:Float z], [param:Float w] )</h3>
+		<p>
+		[page:Float x] - x valore del vettore normale di lunghezza unitaria.<br />
+		[page:Float y] - y valore del vettore normale di lunghezza unitaria.<br />
+		[page:Float z] - z valore del vettore normale di lunghezza unitaria.<br />
+		[page:Float w] - il valore della proprieà [page:.constant constant] del piano.<br /><br />
+
+		Imposta i singoli componenti che definiscono il piano.
+		</p>
+
+		<h3>[method:this setFromCoplanarPoints]( [param:Vector3 a], [param:Vector3 b], [param:Vector3 c] )</h3>
+		<p>
+		 [page:Vector3 a] - primo punto sul piano.<br />
+		 [page:Vector3 b] - secondo punto sul piano.<br />
+		 [page:Vector3 c] - terzo punto sul piano.<br /><br />
+
+		 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].
+		</p>
+
+		<h3>[method:this setFromNormalAndCoplanarPoint]( [param:Vector3 normal], [param:Vector3 point] )</h3>
+		<p>
+		[page:Vector3 normal] - un [page:Vector3] di lunghezza unitaria che definisce la normale del piano.<br />
+		[page:Vector3 point] - [page:Vector3]<br /><br />
+
+		Imposta le proprietà del piano definite da una [page:Vector3 normale] e un [page:Vector3 punto] complanare arbitrario.
+		</p>
+
+		<h3>[method:this translate]( [param:Vector3 offset] )</h3>
+		<p>
+		[page:Vector3 offset] - la quantità di cui muovere il piano.<br /><br />
+
+		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.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 264 - 0
docs/api/it/math/Quaternion.html

@@ -0,0 +1,264 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Implementazione di un [link:http://en.wikipedia.org/wiki/Quaternion quaternione].<br/>
+			I quaternioni sono utilizzati in three.js per rappresentare le [link:https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation rotazioni].
+		</p>
+
+		<p>
+			L'iterazione di un'istanza di [name] produrrà le sue componenti (x, y, z, w) nell'ordine corrispondente.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const quaternion = new THREE.Quaternion();
+		quaternion.setFromAxisAngle( new THREE.Vector3( 0, 1, 0 ), Math.PI / 2 );
+
+		const vector = new THREE.Vector3( 1, 0, 0 );
+		vector.applyQuaternion( quaternion );
+		</code>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Float x], [param:Float y], [param:Float z], [param:Float w] )</h3>
+		<p>
+		[page:Float x] - coordinata x.<br />
+		[page:Float y] - coordinata y.<br />
+		[page:Float z] - coordinata z.<br />
+		[page:Float w] - coordinata w.
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Boolean isQuaternion]</h3>
+		<p>
+			Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].
+		</p>
+
+		<h3>[property:Float x]</h3>
+
+		<h3>[property:Float y]</h3>
+
+		<h3>[property:Float z]</h3>
+
+		<h3>[property:Float w]</h3>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Float angleTo]( [param:Quaternion q] )</h3>
+		<p>
+			Restituisce l'angolo tra questo quaternione e il quaternione [page:Quaternion q] in radianti. 
+		</p>
+
+		<h3>[method:Quaternion clone]()</h3>
+		<p>
+			Crea un nuovo [name] con le proprietà [page:.x x], [page:.y y],
+			[page:.z z] e [page:.w w] identiche a questo.
+		</p>
+
+		<h3>[method:this conjugate]()</h3>
+		<p>
+			Restituisce il coniugato rotazionale di questo quaternione. Il coniugato di un quaternione
+			rappresenta la stessa rotazione nella direzione opposta rispetto all'asse di rotazione.
+		</p>
+
+		<h3>[method:this copy]( [param:Quaternion q] )</h3>
+		<p>
+			Copia le proprietà [page:.x x], [page:.y y], [page:.z z] e [page:.w w] di 
+			[page:Quaternion q] in questo quaterione.
+		</p>
+
+		<h3>[method:Boolean equals]( [param:Quaternion v] )</h3>
+		<p>
+		[page:Quaternion v] - Quaterione a cui verrà paragonato questo quaternione.<br /><br />
+
+		Compara le proprietà [page:.x x], [page:.y y],	[page:.z z] and [page:.w w] di
+		[page:Quaternion v] alle proprietà equivalenti di questo quaternione per determinare 
+		se rappresentano la stessa rotazione.
+		</p>
+
+		<h3>[method:Float dot]( [param:Quaternion v] )</h3>
+		<p>
+			Calcola il [link:https://en.wikipedia.org/wiki/Dot_product prodotto scalare] dei
+			quaternioni [page:Quaternion v] e questo.
+		</p>
+
+		<h3>[method:this fromArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - array di formato (x, y, z, w) utilizzato per costruire il quaternione.<br />
+		[page:Integer offset] - (opzionale) un offset nell'array.<br /><br />
+
+		Imposta le proprietà [page:.x x], [page:.y y], [page:.z z] e [page:.w w] di questo quaternione
+		da un array.
+		</p>
+
+		<h3>[method:this identity]()</h3>
+		<p>
+			Imposta questo quaternione al quaterione identità; cioè al quaternione che rappresenta "nessuna rotazione".
+		</p>
+
+		<h3>[method:this invert]()</h3>
+		<p>
+			Inverte questo quaternione - calcola il [page:.conjugate coniugato]. Si presume che il quaternione abbia lunghezza unitaria.
+		</p>
+
+		<h3>[method:Float length]()</h3>
+		<p>Calcola la [link:https://en.wikipedia.org/wiki/Euclidean_distance lunghezza Euclidea]
+			(lunghezza in linea retta) di questo quaternione, considerato come un vettore a quattro dimensioni.
+		</p>
+
+		<h3>[method:Float lengthSq]()</h3>
+		<p>
+			Calcola la radice della [link:https://en.wikipedia.org/wiki/Euclidean_distance lunghezza Euclidea]
+			(lunghezza in linea retta) di questo quaternione, considerato come un vettore a quattro dimensioni.
+			Questo può essere utile se stai confrontando le lunghezze di due quaternioni, 
+			poiché questo è un calcolo leggermente più efficiente di [page:.length length]().
+		</p>
+
+		<h3>[method:this normalize]()</h3>
+		<p>
+			[link:https://en.wikipedia.org/wiki/Normalized_vector Normalizza] questo quaternione - cioè,
+			calcolato il quaternione che esegue la stessa rotazione di questo, ma con [page:.length lunghezza]
+			uguale a `1`.
+		</p>
+
+		<h3>[method:this multiply]( [param:Quaternion q] )</h3>
+		<p>Moltiplica questo quaternione per [page:Quaternion q].</p>
+
+		<h3>[method:this multiplyQuaternions]( [param:Quaternion a], [param:Quaternion b] )</h3>
+		<p>
+			Imposta questo quaternione a [page:Quaternion a] x [page:Quaternion b].<br />
+			Adattato dal metodo descritto [link:http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm qui].
+		</p>
+
+		<h3>[method:this premultiply]( [param:Quaternion q] )</h3>
+		<p>Pre-moltiplica questo quaternione per [page:Quaternion q].</p>
+
+		<h3>[method:this random]()</h3>
+		<p>
+			Imposta questo quaternione ad un quaternione normalizzato uniformemente casuale.
+		</p>
+
+		<h3>[method:this rotateTowards]( [param:Quaternion q], [param:Float step] )</h3>
+		<p>
+			[page:Quaternion q] - Il target quaternione.<br />
+			[page:Float step] - Il passo angolare in radianti.<br /><br />
+
+			Ruota questo quaternione di un dato passo angolare al quaternione definito *q*.
+			Il metodo assicura che il quaternione finale non superi *q*.
+		</p>
+
+		<h3>[method:this slerp]( [param:Quaternion qb], [param:Float t] )</h3>
+		<p>
+			[page:Quaternion qb] - L'altra rotazione del quaternione.<br />
+			[page:Float t] - Fattore di interpolazione nell'intervallo chiuso `[0, 1]`.<br /><br />
+
+			Gestisce l'interpolazione lineare tra i quaternioni. [page:Float t] rappresenta la quantità di rotazione
+			tra questo quaternione (dove [page:Float t] è 0) e [page:Quaternion qb] (dove
+			[page:Float t] è 1). Questo quaternione è impostato sul risultato. Vedi, anche, la versione
+			statica dello `slerp` qui sotto.
+
+			<code>
+			// ruota una mesh verso un quaternione target
+			mesh.quaternion.slerp( endQuaternion, 0.01 );
+			</code>
+		</p>
+
+		<h3>[method:this slerpQuaternions]( [param:Quaternion qa], [param:Quaternion qb], [param:Float t] )</h3>
+		<p>Esegue un'interpolazione sferica lineare tra i quaternioni dati e memorizza il risultato in questo quaternione.</p>
+
+		<h3>[method:this set]( [param:Float x], [param:Float y], [param:Float z], [param:Float w] )</h3>
+		<p>Imposta le proprietà [page:.x x], [page:.y y], [page:.z z], [page:.w w] di questo quaternione.</p>
+
+		<h3>[method:this setFromAxisAngle]( [param:Vector3 axis], [param:Float angle] )</h3>
+		<p>
+			Imposta questo quaternione dalla rotazione specificata dall'[page:Vector3 asse] e dall'[page:Float angolo].<br />
+			Adattato dal metodo [link:http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm qui].<br />
+			Si presume che l'`asse` sia normalizzato e l'`angolo` sia in radianti.
+		</p>
+
+		<h3>[method:this setFromEuler]( [param:Euler euler] )</h3>
+		<p>Imposta questo quaternione dalla rotazione specificata dall'angolo di [page:Eulero].</p>
+
+		<h3>[method:this setFromRotationMatrix]( [param:Matrix4 m] )</h3>
+		<p>
+		[page:Matrix4 m] - una [page:Matrix4] di cui il 3x3 superiore della matrice è una
+		[link:https://en.wikipedia.org/wiki/Rotation_matrix matrice di rotazione] pura (cioè non ridimensionata).<br />
+		Imposta questo quaternione dalla componente di rotazione di [page:Matrix4 m].<br />
+		Adattato dal metodo [link:http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm qui].
+		</p>
+
+		<h3>[method:this setFromUnitVectors]( [param:Vector3 vFrom], [param:Vector3 vTo] )</h3>
+		<p>
+			Imposta questo quaterione alla rotazinoe richiesta per ruotare il vettore di direzione [page:Vector3 vFrom] a
+			[page:Vector3 vTo].<br />
+			Adattato dal metodo [link:http://lolengine.net/blog/2013/09/18/beautiful-maths-quaternion-from-vectors qui].<br />
+			Si presume che [page:Vector3 vFrom] e [page:Vector3 vTo] siano normalizzati.
+		</p>
+
+		<h3>[method:Array toArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - Un array facoltativo per memorizzare il quaternione. Se non specificato, verrà creato un nuovo array.<br/>
+		[page:Integer offset] - (opzionale) se specificato, il risultato verrà copiato in questo [page:Array].<br /><br />
+
+		Restituisce gli elementi numerici di questo quaternione in un array del formato [x, y, z, w].
+		</p>
+
+		<h3>[method:this fromBufferAttribute]( [param:BufferAttribute attribute], [param:Integer index] )</h3>
+		<p>
+		[page:BufferAttribute attribute] - l'attributo sorgente.<br />
+		[page:Integer index] - l'indice dell'attributo.<br /><br />
+
+		Imposta le proprietà [page:.x x], [page:.y y], [page:.z z], [page:.w w] di questo quaternione dall'[page:BufferAttribute attributo].
+		</p>
+
+		<h2>Metodi Statici</h2>
+
+		<h3>[method:undefined slerpFlat]( [param:Array dst], [param:Integer dstOffset], [param:Array src0], [param:Integer srcOffset0], [param:Array src1], [param:Integer srcOffset1], [param:Float t] )</h3>
+		<p>
+		[page:Array dst] - L'array di output.<br />
+		[page:Integer dstOffset] - Un offset nell'array di output.<br />
+		[page:Array src0] - L'array sorgente del quaternione iniziale.<br />
+		[page:Integer srcOffset0] - Un offset nell'array `src0`.<br />
+		[page:Array src1] - L'array sorgente del quaternione target.<br />
+		[page:Integer srcOffset1] - Un offset nell'array `src1`.<br />
+		[page:Float t] - Fattore di interpolazione normalizzato (tra 0 e 1).<br /><br />
+
+		Questa implementazione SLERP presuppone che i dati del quaternione siano gestiti in array flat.
+		</p>
+
+		<h3>[method:Array multiplyQuaternionsFlat]( [param:Array dst], [param:Integer dstOffset], [param:Array src0], [param:Integer srcOffset0], [param:Array src1], [param:Integer srcOffset1] )</h3>
+		<p>
+		[page:Array dst] - L'array di output.<br />
+		[page:Integer dstOffset] - Un offset nell'array di output.<br />
+		[page:Array src0] - L'array sorgente del quaternione iniziale.<br />
+		[page:Integer srcOffset0] - Un offset nell'array `src0`.<br />
+		[page:Array src1] - L'array sorgente del quaternione target.<br />
+		[page:Integer srcOffset1] - Un offset nell'array `src1`.<br /><br />
+
+		Questa implementazione della moltiplicazione presuppone che i dati del quaterione siano gestiti in array flat.
+		</p>
+
+		<!-- Note: Do not add non-static methods to the bottom of this page. Put them above the <h2>Static Methods</h2> -->
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 210 - 0
docs/api/it/math/Ray.html

@@ -0,0 +1,210 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Un raggio che parte da un'origine e si dirige in una determinata direzione. Questo viene utilizzato
+			dal [page:Raycaster] per assistere il raycasting. Il raycasting viene utilizzato per selezionare
+			con il mouse (elaborare su quali oggetti nello spazio 3D si trova il mouse) tra le altre cose.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Vector3 origin], [param:Vector3 direction] )</h3>
+		<p>
+		[page:Vector3 origin] - (opzionale) l'origine del [page:Ray raggio]. Il valore predefinito è un [page:Vector3] a (0, 0, 0).<br />
+		[page:Vector3 direction] - [page:Vector3] La direzione del [page:Ray raggio]. Deve essere normalizzato
+		 (con [page:Vector3.normalize]) affinchè i metodi funzionino correttamente.  Il valore predefinito è [page:Vector3] a (0, 0, -1).<br /><br />
+
+		 Crea un nuovo [name].
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Vector3 origin]</h3>
+		<p>L'origine del [page:Ray raggio]. Il valore predefinito è un [page:Vector3] a `(0, 0, 0)`.</p>
+
+		<h3>[property:Vector3 direction]</h3>
+		<p>
+			La direzione del [page:Ray raggio].  Deve essere normalizzato (con [page:Vector3.normalize])
+			affinchè i metodi funzionino correttamente. Il valore predefinito è un [page:Vector3] a (0, 0, -1).
+		</p>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix4] )</h3>
+		<p>
+		[page:Matrix4 matrix4] - la [page:Matrix4] da applicare a questo [page:Ray raggio].<br /><br />
+
+		Trasforma questo [page:Ray raggio] con [page:Matrix4].
+		</p>
+
+		<h3>[method:Vector3 at]( [param:Float t], [param:Vector3 target] ) </h3>
+		<p>
+		[page:Float t] - la distanza lungo il [page:Ray raggio] per la quale recuperare una posizione.<br />
+		[page:Vector3 target] — il risultato sarà copiato in questo Vector3.<br /><br />
+
+		Ottiene un [page:Vector3] che corrisponde a una determinata distanza lungo questo [page:Ray raggio].
+		</p>
+
+		<h3>[method:Ray clone]()</h3>
+		<p>
+			Crea un nuovo raggio con [page:.origin origine] e [page:.direction direzione] identiche a questo.
+		</p>
+
+		<h3>[method:Vector3 closestPointToPoint]( [param:Vector3 point], [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 point] - il punto a cui avvicinarsi di più. <br />
+		[page:Vector3 target] — il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Ottiene il punto lungo questo [page:Ray raggio] che è il più vicino al [page:Vector3] fornito.
+		</p>
+
+		<h3>[method:this copy]( [param:Ray ray] )</h3>
+		<p>
+			Copia le proprietà [page:.origin origine] e [page:.direction direzione]
+			del [page:Ray raggio] in questo raggio.
+		</p>
+
+		<h3>[method:Float distanceSqToPoint]( [param:Vector3 point] )</h3>
+		<p>
+		[page:Vector3 point] - il [page:Vector3] per calcolare una distanza.<br /><br />
+
+		Ottiene la distanza al quadrato dell'avvicinamento più vicino tra il [page:Ray raggio] e il [page:Vector3].
+		</p>
+
+		<h3>[method:Float distanceSqToSegment]( [param:Vector3 v0], [param:Vector3 v1], [param:Vector3 optionalPointOnRay], [param:Vector3 optionalPointOnSegment] )</h3>
+		<p>
+		[page:Vector3 v0] - l'inizio del segmento.<br />
+		[page:Vector3 v1] - la fine del segmento.<br />
+		optionalPointOnRay - (opzionale) se viene fornito, riceve il punto su questo
+			[page:Ray raggio] più vicino al segmento.<br />
+		optionalPointOnSegment - (opzionale) se viene fornito, riceve il punto
+		sul segmento più vicino al [page:Ray raggio].<br /><br />
+
+		Ottiene la distanza al quadrato tra questo [page:Ray raggio] e un segmento.
+		</p>
+
+		<h3>[method:Float distanceToPlane]( [param:Plane plane] )</h3>
+		<p>
+		[page:Plane plane] - il [page:Plane] per ottenere la distanza.<br /><br />
+
+		Ottiene la distanza tra l'[page:.origin origine] e il [page:Plane piano], o `null` se il [page:Ray raggio] non interseca il [page:Plane piano].
+		</p>
+
+		<h3>[method:Float distanceToPoint]( [param:Vector3 point] )</h3>
+		<p>
+		[page:Vector3 point] - Il [page:Vector3] su cui calcolare la distanza.<br /><br />
+
+		Ottiene la distanza dell'avvicinamento più vicino tra il [page:Ray raggio] e il [page:Vector3 punto].
+		</p>
+
+
+		<h3>[method:Boolean equals]( [param:Ray ray] )</h3>
+		<p>
+		[page:Ray ray] - il [page:Ray raggio] su cui confrontare.<br /><br />
+
+		Restituisce true se questo e l'altro [page:Ray raggio] hanno [page:.origin origine]
+		e [page:.direction direzione] uguali.
+		</p>
+
+		<h3>[method:Vector3 intersectBox]( [param:Box3 box], [param:Vector3 target] )</h3>
+		<p>
+		[page:Box3 box] - il [page:Box3] con cui intersecare.<br />
+		[page:Vector3 target] — il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Interseca questo [page:Ray raggio] con un [page:Box3], restituendo il punto di intersezione o
+		`null` se non ci sono intersezioni.
+		</p>
+
+		<h3>[method:Vector3 intersectPlane]( [param:Plane plane], [param:Vector3 target] )</h3>
+		<p>
+		[page:Plane plane] - il [page:Plane] con cui intersecare.<br />
+		[page:Vector3 target] — il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Interseca questo [page:Ray raggio] con un [page:Plane], restituendo il punto di intersezione o
+		`null` se non ci sono intersezioni.
+		</p>
+
+		<h3>[method:Vector3 intersectSphere]( [param:Sphere sphere], [param:Vector3 target] )</h3>
+		<p>
+		[page:Sphere sphere] - la [page:Sphere] con cui intersecare.<br />
+		[page:Vector3 target] — il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Interseca questo [page:Ray raggio] con una [page:Sphere], restituendo il punto di intersezione o
+		`null` se non ci sono intersezioni.
+		</p>
+
+		<h3>[method:Vector3 intersectTriangle]( [param:Vector3 a], [param:Vector3 b], [param:Vector3 c], [param:Boolean backfaceCulling], [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 a], [page:Vector3 b], [page:Vector3 c] - I punti [page:Vector3] che compongono il triangolo.<br />
+		[page:Boolean backfaceCulling] - se utilizzare backface culling o meno.<br />
+		[page:Vector3 target] — il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Interseca questo [page:Ray raggio] con un triangolo, restituendo il punto di intersezione o
+		`null` se non ci sono intersezioni.
+		</p>
+
+		<h3>[method:Boolean intersectsBox]( [param:Box3 box] )</h3>
+		<p>
+		[page:Box3 box] - il [page:Box3] con cui intersecare.<br /><br />
+
+		Restituisce true se questo [page:Ray raggio] si interseca con il [page:Box3].
+		</p>
+
+		<h3>[method:Boolean intersectsPlane]( [param:Plane plane] )</h3>
+		<p>
+		[page:Plane plane] - il [page:Plane] con cui intersecare.<br /><br />
+
+		Restituisce true se questo [page:Ray raggio] si interseca con il [page:Plane].
+		</p>
+
+		<h3>[method:Boolean intersectsSphere]( [param:Sphere sphere] )</h3>
+		<p>
+		[page:Sphere sphere] - la [page:Sphere] con cui intersecare.<br /><br />
+
+		Restituisce true se questo [page:Ray raggio] si interseca con la [page:Sphere].
+		</p>
+
+		<h3>[method:this lookAt]( [param:Vector3 v] )</h3>
+		<p>
+		[page:Vector3 v] - Il [page:Vector3] da guardare.<br /><br />
+
+		Regola la direzione del raggio in modo che punti al vettore nelle coordinate world.
+		</p>
+
+		<h3>[method:this recast]( [param:Float t] )</h3>
+		<p>
+		[page:Float t] - La distanza lungo il [page:Ray raggio] da interpolare.<br /><br />
+
+		Sposta l'origine di questo [page:Ray raggio] lungo le sue direzione per la distanza data.
+		</p>
+
+		<h3>[method:this set]( [param:Vector3 origin], [param:Vector3 direction] )</h3>
+		<p>
+		[page:Vector3 origin] - l'[page:.origin origine] del [page:Ray raggio].<br />
+		[page:Vector3 origin] - la [page:.direction direzione] del [page:Ray raggio].
+		Deve essere normalizzato (con [page:Vector3.normalize]) affinchè i metodi funzionino correttamente.<br /><br />
+
+		Imposta le proprietà [page:.origin origine] e [page:.direction direzione] di questo raggio copiando i valori dagli oggetti dati.
+		</p>
+
+
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 160 - 0
docs/api/it/math/Sphere.html

@@ -0,0 +1,160 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">Una sfera definita da un centro e un raggio.</p>
+
+		<h2>Costruttore</h2>
+		<h3>[name]( [param:Vector3 center], [param:Float radius] )</h3>
+		<p>
+		[page:Vector3 center] - centro della sfera. Il valore predefinito è un [page:Vector3] a `(0, 0, 0)`. <br />
+		[page:Float radius] - raggio della sfera. Il valore predefinito è -1.<br /><br />
+
+		Crea una nuova [name].
+
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+
+		<h3>[property:Vector3 center]</h3>
+		<p>Un [page:Vector3] che definisce il centro della sfera. Il valore predefinito è `(0, 0, 0)`.</p>
+
+		<h3>[property:Float radius]</h3>
+		<p>Il raggio della sfera. Il valore predefinito è -1.</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 matrix] )</h3>
+		<p>
+			[page:Matrix4 matrix] - [Page:Matrix4] da applicare. <br /><br />
+
+			Trasforma questa sfera con la [page:Matrix4] fornita.
+		</p>
+
+		<h3>[method:Vector3 clampPoint]( [param:Vector3 point], [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3] Il punto da bloccare.<br />
+		[page:Vector3 target] — Il risultato verrà copiato in questo Vector3.<br /><br />
+
+		Blocca un punto all'interno della sfera. Se il punto è fuori dalla sfera, lo bloccherà al punto 
+		più vicino sul bordo della sfera. I punti già all'interno della sfera non saranno influenzati.
+		</p>
+
+		<h3>[method:Sphere clone]()</h3>
+		<p>Restituisce un nuova sfera con lo stesso [page:.center centro] e [page:.radius raggio] di questa.</p>
+
+		<h3>[method:Boolean containsPoint]( [param:Vector3 point] )</h3>
+		<p>
+		[page:Vector3 point] - il [page:Vector3] da controllare.<br /><br />
+
+		Controlla se la sfera contiene il [page:Vector3 punto] fornito comprensivo della superficie della sfera.
+		</p>
+
+		<h3>[method:this copy]( [param:Sphere sphere] )</h3>
+		<p>
+			Copia i valori delle proprietà [page:.center centro] e [page:.radius raggio] della sfera passata 
+			in questa sfera.
+		</p>
+
+		<h3>[method:Float distanceToPoint]( [param:Vector3 point] )</h3>
+		<p>
+			Restituisce la distanza più vicina dal confine della sfera al [page:Vector3 punto]. Se la sfera contiene il punto, 
+			la distanza sarà negativa.
+		</p>
+
+		<h3>[method:this expandByPoint]( [param:Vector3 point] )</h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3] che da includere nella sfera.<br /><br />
+
+		Espande i confini della sfera per includere il [page:Vector3 punto].
+		</p>
+
+		<h3>[method:Boolean isEmpty]()</h3>
+		<p>
+			Controlla se la sfera è vuota (il raggio impostato ad un numero negativo).</br>
+			Le sfere con un raggio di 0 contengono solo il loro punto centrale e non sono considerate vuote.
+		</p>
+
+		<h3>[method:this makeEmpty]()</h3>
+		<p>Rende la sfera vuota impostando il [page:.center centro] a (0, 0, 0) e il [page:.radius raggio] a -1.</p>
+
+		<h3>[method:Boolean equals]( [param:Sphere sphere] )</h3>
+		<p>
+			Controlla se i due centri e i due raggi sono uguali.
+		</p>
+
+		<h3>[method:Box3 getBoundingBox]( [param:Box3 target] )</h3>
+		<p>
+		[page:Box3 target] — Il risultato verrà copiato in questo Box3.<br /><br />
+
+		Restituisce un [link:https://en.wikipedia.org/wiki/Minimum_bounding_box Minimum Bounding Box] per la sfera.
+		</p>
+
+		<h3>[method:Boolean intersectsBox]( [param:Box3 box] )</h3>
+		<p>
+		[page:Box3 box] - [page:Box3] per verificare la presenza di intersezioni.<br /><br />
+		
+		Determina se questa sfera interseca il [page:Box3 box] dato oppure no.
+		</p>
+
+		<h3>[method:Boolean intersectsPlane]( [param:Plane plane] )</h3>
+		<p>
+		[page:Plane plane] - Plane per verificare la presenza di intersezioni.<br /><br />
+
+		Determina se questa sfera interseca il [page:Plane plane] dato oppure no.
+		</p>
+
+		<h3>[method:Boolean intersectsSphere]( [param:Sphere sphere] )</h3>
+		<p>
+		[page:Sphere sphere] - Sphere per verificare la presenza di intersezioni.<br /><br />
+
+		Verifica se le due sfere si intersecano.
+		</p>
+
+		<h3>[method:this set]( [param:Vector3 center], [param:Float radius] )</h3>
+		<p>
+			[page:Vector3 center] - centro della sfera.<br />
+			[page:Float radius] - raggio della sfera.<br /><br />
+
+			Imposta le proprietà [page:.center centro] e [page:.radius raggio] di questa sfera.<br>
+			Si noti che questo metodo copia solo i valori per il centro dato.
+		</p>
+
+		<h3>[method:this setFromPoints]( [param:Array points], [param:Vector3 optionalCenter] )</h3>
+		<p>
+		[page:Array points] - un [page:Array] di posizioni [page:Vector3].<br />
+		[page:Vector3 optionalCenter] - Posizione [page:Vector3] opzionale per il centro della sfera.<br /><br />
+
+		Calcola la sfera di delimitazione minima per un array di [page:Array punti]. Se viene fornito l'[page:Vector3 optionalCenter],
+		viene utilizzato con il centro della sfera. Altrimenti, viene calcolato il centro del rettangolo di selezione allineato
+		agli assi che comprende i [page:Array punti].
+		</p>
+
+		<h3>[method:this translate]( [param:Vector3 offset] )</h3>
+		<p>
+			Trasla il centro della sfera dell'offset [page:Vector3] fornito.
+		</p>
+
+		<h3>[method:this union]( [param:Sphere sphere] )</h3>
+		<p>
+		[page:Sphere sphere] - Sfera di delimitazione che sarà unita a questa sfera.<br /><br />
+
+		Espande questa sfera per racchiudere sia la sfera originale che quella data.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 79 - 0
docs/api/it/math/Spherical.html

@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">Le [link:https://en.wikipedia.org/wiki/Spherical_coordinate_system coordinate sferiche] di un punto.</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Float radius], [param:Float phi], [param:Float theta] )</h3>
+		<p>
+		[page:Float radius] - il raggio, o la [link:https://en.wikipedia.org/wiki/Euclidean_distance distanza Euclidea]
+		(distanza in linea retta) dal punto all'origine. Il valore predefinito è `1.0`.<br />
+		[page:Float phi] - angolo polare in radianti dall'asse y (su). Il valore predefinito è `0`.<br />
+		[page:Float theta] - angolo dell'equatore in radianti attorno l'asse y (su). Il valore predefinito è `0`.<br /><br />
+
+		I poli (phi) sono sull'asse positivo e negativo. L'equatore (theta) inizia con z positivo.
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Float radius]</h3>
+
+		<h3>[property:Float phi]</h3>
+
+		<h3>[property:Float theta]</h3>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Spherical clone]()</h3>
+		<p>
+			Restituisce una nuova [name] con le stesse proprietà [page:.radius radius], [page:.phi phi]
+			e [page:.theta theta] di questo.
+		</p>
+
+		<h3>[method:this copy]( [param:Spherical s] )</h3>
+		<p>
+			Copia i valori delle proprietà [page:.radius radius], [page:.phi phi]
+			e [page:.theta theta] della sferica a questa sferica.
+		</p>
+
+		<h3>[method:this makeSafe]()</h3>
+		<p>
+			Limita l'angolo polare [page:.phi phi] per essere tra 0.000001 e pi - 0.000001.
+		</p>
+
+		<h3>[method:this set]( [param:Float radius], [param:Float phi], [param:Float theta] )</h3>
+		<p>Imposta i valori delle proprietà [page:.radius radius], [page:.phi phi]
+		e [page:.theta theta] di questa sferica.</p>
+
+		<h3>[method:this setFromVector3]( [param:Vector3 vec3] )</h3>
+		<p>
+			Imposta i valori delle proprietà [page:.radius radius], [page:.phi phi]
+			e [page:.theta theta] di questa sferica dal [page:Vector3 Vector3].
+		</p>
+
+		<h3>[method:this setFromCartesianCoords]( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+			Imposta i valori delle proprietà [page:.radius radius], [page:.phi phi]
+			e [page:.theta theta] di questa sferica dalle coordinate cartesiane.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 145 - 0
docs/api/it/math/SphericalHarmonics3.html

@@ -0,0 +1,145 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Rappresenta un'armonica sferica del terzo ordine (SH). Le sonde luminose utilizzano questa classe per codificare le 
+			informazioni sull'illuminazione.
+		</p>
+
+		<h2>Costruttore</h2>
+		<h3>[name]()</h3>
+		<p>
+			Crea una nuova istanza di [name].
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Array coefficients]</h3>
+		<p>Un array contenente i (9) coefficienti SH. Un singolo coefficiente è rappresentato come un'istanza di [page:Vector3].</p>
+
+		<h3>[property:Boolean isSphericalHarmonics3]</h3>
+		<p>
+			Flag di sola lettura per verificare se l'oggetto dato è di tipo [name].
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this add]( [param:SphericalHarmonics3 sh] )</h3>
+		<p>
+			[page:SphericalHarmonics3 sh] - L'SH da aggiungere.<br /><br />
+
+			Aggiunge l'SH dato a questa istanza.
+		</p>
+
+		<h3>[method:this addScaledSH]( [param:SphericalHarmonics3 sh], [param:Number scale] )</h3>
+		<p>
+			[page:SphericalHarmonics3 sh] - L'SH da aggiungere.<br />
+			[page:Number scale] - Il fattore scale.<br /><br />
+
+			Un metodo pratico per eseguire [page:.add]() e [page:.scale]() contemporaneamente.
+		</p>
+
+		<h3>[method:SphericalHarmonics3 clone]()</h3>
+		<p>
+			Restituisce una nuova istanza di [name] con i coefficienti uguali.
+		</p>
+
+		<h3>[method:this copy]( [param:SphericalHarmonics3 sh] )</h3>
+		<p>
+			[page:SphericalHarmonics3 sh] - L'SH da copiare.<br /><br />
+
+			Copia l'SH dato per questa istanza.
+		</p>
+
+		<h3>[method:Boolean equals]( [param:SphericalHarmonics3 sh] )</h3>
+		<p>
+			[page:SphericalHarmonics3 sh] - L'SH con cui fare la comparazione.<br /><br />
+
+			Restituisce true se l'SH dato e questa istanza hanno coefficienti uguali.
+		</p>
+
+		<h3>[method:this fromArray]( [param:Array array], [param:Number offset] )</h3>
+		<p>
+			[page:Array array] - L'array contiene i numeri dei coefficienti SH.<br />
+			[page:Number offset] - (opzionale) L'offset dell'array.<br /><br />
+
+			Imposta i coefficienti di questa istanza dall'array passato.
+		</p>
+
+		<h3>[method:Vector3 getAt]( [param:Vector3 normal], [param:Vector3 target] )</h3>
+		<p>
+			[page:Vector3 normal] - Il vettore normale (si assume che abbia lunghezza unitaria).<br />
+			[page:Vector3 target] - Il vettore risultato.<br /><br />
+
+			Restituisce la radianza nella direzione della normale data.
+		</p>
+
+		<h3>[method:Vector3 getIrradianceAt]( [param:Vector3 normal], [param:Vector3 target] )</h3>
+		<p>
+			[page:Vector3 normal] - Il vettore normale (si assume che abbia lunghezza unitaria).<br />
+			[page:Vector3 target] - Il vettore risultato.<br /><br />
+
+			Restituisce l'irradianza (radianza convoluta con il lobo del coseno) nella direzione della normale data.
+		</p>
+
+		<h3>[method:this lerp]( [param:SphericalHarmonics3 sh], [param:Number alpha] )</h3>
+		<p>
+			[page:SphericalHarmonics3 sh] - L'SH con cui interpolare.<br />
+			[page:Number alpha] - Il fattore alfa.<br /><br />
+
+			Interpolazioni lineari tra l'SH dato e questa istanza dal fattore alfa dato.
+		</p>
+
+		<h3>[method:this scale]( [param:Number scale] )</h3>
+		<p>
+			[page:Number scale] - Il fattore scale.<br /><br />
+
+			Ridimensiona questo SH in base al fattore scale passato.
+		</p>
+
+		<h3>[method:this set]( [param:Array coefficients] )</h3>
+		<p>
+			[page:Array coefficients] - Un array di coefficienti SH.<br /><br />
+
+			Imposta i coefficienti SH passati in questa istanza.
+		</p>
+
+		<h3>[method:Array toArray]( [param:Array array], [param:Number offset] )</h3>
+		<p>
+			[page:Array array] - (opzionale) L'array target.<br />
+			[page:Number offset] - (opzionale) L'array offset.<br /><br />
+
+			Restituisce un array con i coefficienti, o li copia nell'array fornito. I coefficienti
+			sono rappresentati come numeri.
+		</p>
+
+		<h3>[method:this zero]()</h3>
+		<p>
+			Imposta tutti i coefficienti a 0.
+		</p>
+
+		<h2>Metodi Statici</h2>
+
+		<h3>[method:undefined getBasisAt]( [param:Vector3 normal], [param:Array shBasis] )</h3>
+		<p>
+			[page:Vector3 normal] - Il vettore normale (si presume che abbia lunghezza unitaria).<br />
+			[page:Array shBasis] - La base SH risultante.<br /><br />
+
+			Calcola la base SH per il vettore normale passato.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 171 - 0
docs/api/it/math/Triangle.html

@@ -0,0 +1,171 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Un triangolo geometrico definito da tre [page:Vector3 Vector3] che rappresentano i suoi tre angoli.
+		</p>
+
+
+		<h2>Costruttore</h2>
+
+
+		<h3>[name]( [param:Vector3 a], [param:Vector3 b], [param:Vector3 c] )</h3>
+		<p>
+		[page:Vector3 a] - il primo angolo del triangolo. Il valore predefinito è un [page:Vector3] a `(0, 0, 0)`.<br />
+		[page:Vector3 b] - il secondo angolo del triangolo. Il valore predefinito è un [page:Vector3] a `(0, 0, 0)`.<br />
+		[page:Vector3 c] - il terzo angolo del triangolo. Il valore predefinito è un [page:Vector3] a `(0, 0, 0)`.<br /><br />
+
+		Crea un nuovo [name].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Vector3 a]</h3>
+		<p>
+			Il primo angolo del triangolo. Il valore predefinito è un [page:Vector3] a `(0, 0, 0)`.
+		</p>
+
+		<h3>[property:Vector3 b]</h3>
+		<p>
+			Il secondo angolo del triangolo. Il valore predefinito è un [page:Vector3] a `(0, 0, 0)`.
+		</p>
+
+		<h3>[property:Vector3 c]</h3>
+		<p>
+			Il terzo angolo del triangolo. Il valore predefinito è un [page:Vector3] a `(0, 0, 0)`.
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Triangle clone]()</h3>
+		<p>
+			Restituisce un nuovo triangolo con le stesse proprietà [page:.a a], [page:.b b] e [page:.c c] di questo.
+		</p>
+
+		<h3>[method:Vector3 closestPointToPoint]( [param:Vector3 point], [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3] <br />
+		[page:Vector3 target] — il risultato sarà copiato in questo Vector3.<br /><br />
+
+		Restituisce il punto più vicino del triangolo al [page:Vector3 punto].
+		</p>
+
+		<h3>[method:Boolean containsPoint]( [param:Vector3 point] )</h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3] da controllare.<br /><br />
+
+		Restituisce true se il punto passato, quando proiettato sul piano del triangolo, si trova all'interno del triangolo.
+		</p>
+
+		<h3>[method:this copy]( [param:Triangle triangle] )</h3>
+		<p>
+			Copia i valori delle proprietà [page:.a a], [page:.b b] e [page:.c c] del triangolo passato in questo triangolo.
+		</p>
+
+		<h3>[method:Boolean equals]( [param:Triangle triangle] )</h3>
+		<p>
+			Restituisce true se i due triangoli hanno le proprietà [page:.a a], [page:.b b] e [page:.c c] identiche.
+		</p>
+
+		<h3>[method:Float getArea]()</h3>
+		<p>Restituisce l'area del triangolo.</p>
+
+		<h3>[method:Vector3 getBarycoord]( [param:Vector3 point], [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 point] - [page:Vector3] <br />
+		[page:Vector3 target] — il risultato sarà copiato in questo Vector3.<br /><br />
+
+		Restituisce una [link:https://en.wikipedia.org/wiki/Barycentric_coordinate_system coordinata baricentrica]
+		dal vettore dato. <br/><br/>
+
+		[link:http://commons.wikimedia.org/wiki/File:Barycentric_coordinates_1.png Figura delle coordinate baricentriche]
+		</p>
+
+		<h3>[method:Vector3 getMidpoint]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] — il risultato sarà copiato in questo  Vector3.<br /><br />
+
+		Calcola il punto medio del triangolo.
+		</p>
+
+		<h3>[method:Vector3 getNormal]( [param:Vector3 target] )</h3>
+		<p>
+		[page:Vector3 target] — il risultato sarà copiato in questo Vector3.<br /><br />
+
+		Calcola il [link:https://en.wikipedia.org/wiki/Normal_(geometry) vettore normale] del triangolo.
+		</p>
+
+		<h3>[method:Plane getPlane]( [param:Plane target] )</h3>
+		<p>
+		[page:Plane target] — il risultato sarà copiato in questo Plane.<br /><br />
+
+		Calcola il [page:Plane piano] in base al triangolo.
+		</p>
+
+		<h3>[method:Vector2 getUV]( [param:Vector3 point], [param:Vector2 uv1], [param:Vector2 uv2], [param:Vector2 uv3], [param:Vector2 target] )</h3>
+		<p>
+		[page:Vector3 point] - Il punto sul triangolo.<br />
+		[page:Vector2 uv1] - La coordinata uv del primo vertice del triangolo.<br />
+		[page:Vector2 uv2] - La coordinata uv del secondo vertice del triangolo.<br />
+		[page:Vector2 uv2] - La coordinata uv del terzo vertice del triangolo.<br />
+		[page:Vector2 target] — il risultato sarà copiato in questo Vector2.<br /><br />
+
+		Restituisce le coordinate uv per il punto specificato sul triangolo.
+		</p>
+
+		<h3>[method:Boolean intersectsBox]( [param:Box3 box] )</h3>
+		<p>
+		[page:Box3 box] - Box per il controllo dell'intersezione.<br /><br />
+
+		Determina se il triangolo interseca [page:Box3 box] oppure no.
+		</p>
+
+		<h3>[method:Boolean isFrontFacing]( [param:Vector3 direction] )</h3>
+		<p>
+		[page:Vector3 direction] - La distanza da testare.<br /><br />
+
+		Determina se il triangolo è orientato verso la direzione data o no.
+		</p>
+
+		<h3>[method:this set]( [param:Vector3 a], [param:Vector3 b], [param:Vector3 c] ) [param:Triangle this]</h3>
+		<p>
+			Imposta le proprietà [page:.a a], [page:.b b] e [page:.c c] del triangolo ai [page:Vector3 vector3] passati.<br>
+			Si noti che questo metodo copia solamente i valori da un dato oggetto.
+		</p>
+
+		<h3>[method:this setFromAttributeAndIndices]( [param:BufferAttribute attribute], [param:Integer i0], [param:Integer i1], [param:Integer i2] ) [param:Triangle this]</h3>
+		<p>
+		attribute - [page:BufferAttribute] dei dati del vertice <br />
+		i0 - [page:Integer] indice <br />
+		i1 - [page:Integer] indice <br />
+		i2 - [page:Integer] indice<br /><br />
+
+		Imposta i vertici del triangolo dai dati dei vertici dell'attributo buffer.
+		</p>
+
+		<h3>[method:this setFromPointsAndIndices]( [param:Array points], [param:Integer i0], [param:Integer i1], [param:Integer i2] ) [param:Triangle this]</h3>
+		<p>
+		points - [page:Array] di [page:Vector3] <br />
+		i0 - [page:Integer] indice <br />
+		i1 - [page:Integer] indice <br />
+		i2 - [page:Integer] indice<br /><br />
+
+		Imposta i vettori del triangolo ai vettori nell'array.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 354 - 0
docs/api/it/math/Vector2.html

@@ -0,0 +1,354 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Classe che rappresenta un [link:https://en.wikipedia.org/wiki/Vector_space vettore] 2D.
+
+			Un vettore 2D è una coppia ordinata di numeri (etichettati con x e y), che può essere
+			utilizzata per rappresentare una serie di cose, come:
+		</p>
+
+		<ul>
+			<li>
+				Un punto nello spazio 2D (cioè una posizione su un piano).
+			</li>
+			<li>
+				Una direzione e lunghezza su un piano. In three.js la lunghezza sarà sempre la 
+				[link:https://en.wikipedia.org/wiki/Euclidean_distance distanza Euclidea]
+				(distanza in liena retta) da `(0, 0)` a `(x, y)` e anche la direzione viene misurata da
+				 `(0, 0)` verso `(x, y)`.
+			</li>
+			<li>
+				Qualsiasi coppia di numeri ordinata arbitrariamente.
+			</li>
+		</ul>
+
+		<p>
+			Ci sono altre cose che possono essere rappresentate da un vettore 2D, come i vettori 
+			di quantità di moto, numeri complessi e così via, tuttavia questi sono gli usi comuni in three.js.
+		</p>
+
+		<p>
+			L'iterazione di un'istanza [name] produrrà i suoi componenti `(x, y)` nell'ordine corrispondente.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const a = new THREE.Vector2( 0, 1 );
+
+		// nessun argomento; sarà inizializzato a (0, 0)
+		const b = new THREE.Vector2( );
+
+		const d = a.distanceTo( b );
+		</code>
+
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Float x], [param:Float y] )</h3>
+		<p>
+		[page:Float x] - il valore x di questo vettore. Il valore predefinito è `0`.<br />
+		[page:Float y] -  il valore y di questo vettore. Il valore predefinito è `0`.<br /><br />
+
+		Crea un nuovo [name].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Float height]</h3>
+		<p>Alternativa per [page:.y y].</p>
+
+		<h3>[property:Boolean isVector2]</h3>
+		<p>
+			Flag di sola lettura per verificare che l'oggetto dato sia di tipo [name].
+		</p>
+
+		<h3>[property:Float width]</h3>
+		<p>lternativa per [page:.x x].</p>
+
+		<h3>[property:Float x]</h3>
+
+		<h3>[property:Float y]</h3>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this add]( [param:Vector2 v] )</h3>
+		<p>Aggiunge [page:Vector2 v] a questo vettore.</p>
+
+		<h3>[method:this addScalar]( [param:Float s] )</h3>
+		<p>Aggiunge il valore scalare [page:Float s] ai valori [page:.x x] e [page:.y y] di questo vettore.</p>
+
+		<h3>[method:this addScaledVector]( [param:Vector2 v], [param:Float s] )</h3>
+		<p>Aggiunge il multiplo di [page:Vector2 v] e [page:Float s] a questo vettore.</p>
+
+		<h3>[method:this addVectors]( [param:Vector2 a], [param:Vector2 b] )</h3>
+		<p>Imposta questo vettore a [page:Vector2 a] + [page:Vector2 b].</p>
+
+		<h3>[method:Float angle]()</h3>
+		<p>
+			Calcola l'angolo in radianti di questo vettore rispetto all'asse x positivo. 
+		</p>
+
+		<h3>[method:this applyMatrix3]( [param:Matrix3 m] )</h3>
+		<p>
+			Moltiplica questo vettore (con un 1 implicito come terza componente) per m.
+		</p>
+
+		<h3>[method:this ceil]()</h3>
+		<p>
+			I componenti [page:.x x] e [page:.y y] di questo vettore vengono arrotondati per eccesso al valore intero più vicino. 
+		</p>
+
+		<h3>[method:this clamp]( [param:Vector2 min], [param:Vector2 max] )</h3>
+		<p>
+		[page:Vector2 min] - i valori minimi x e y.<br />
+		[page:Vector2 max] - i valori massimi x e y nell'intervallo desiderato.<br /><br />
+
+		Se il valore x o y di questo vettore è maggiore del valore x o y del vettore massimo, verrà sostituito dal valore corrispondente.<br /><br />
+		Se il valore x o y di questo vettore è minore del valore x o y del vettore minimo, verrà sostituito dal valore corrispondente.<br /><br />
+		</p>
+
+		<h3>[method:this clampLength]( [param:Float min], [param:Float max] )</h3>
+		<p>
+		[page:Float min] - il valore minimo a cui verrà fissata la lunghezza. <br />
+		[page:Float max] - il valore massimo a cui verrà fissata la lunghezza.<br /><br />
+
+		Se la lunghezza di questo vettore è maggiore del valore massimo, verrà sostituita dal valore massimo.<br /><br />
+		Se la lunghezza di questo vettore è minore del valore minimo, verrà sostituita dal valore minimo.
+		</p>
+
+		<h3>[method:this clampScalar]( [param:Float min], [param:Float max] )</h3>
+		<p>
+		[page:Float min] - il valore minimo a cui verranno fissati i componenti.<br />
+		[page:Float max] - il valore massimo a cui verranno fissati i componenti.<br /><br />
+
+		Se i valori di x o y di questo vettore sono maggiori del valore massimo, verranno sostuiti dal valore massimo.<br /><br />
+		Se i valori di x o y di questo vettore sono minori del valore minimo, verranno sostuiti dal valore minimo.
+		</p>
+
+		<h3>[method:Vector2 clone]()</h3>
+		<p>
+			Restituisce un nuovo Vector2 con gli stessi valori [page:.x x] e [page:.y y] di questo.
+		</p>
+
+		<h3>[method:this copy]( [param:Vector2 v] )</h3>
+		<p>
+			Copia i valori delle proprietà [page:.x x] e [page:.y y] del vettore passate di questo Vector2.
+		</p>
+
+		<h3>[method:Float distanceTo]( [param:Vector2 v] )</h3>
+		<p>Calcola la distanza da questo vettore a [page:Vector2 v].</p>
+
+		<h3>[method:Float manhattanDistanceTo]( [param:Vector2 v] )</h3>
+		<p>
+			Calcola la [link:https://en.wikipedia.org/wiki/Taxicab_geometry distanza Manhattan] da questo vettore a [page:Vector2 v].
+		</p>
+
+		<h3>[method:Float distanceToSquared]( [param:Vector2 v] )</h3>
+		<p>
+			Calcola la distanza al quadrato da questo vettore a [page:Vector2 v]. Se stai semplicemente
+			confrontando la distanza con un'altra distanza, dovresti invece confrontare la distanza al quadrato
+			poiché è leggermente più efficiente da calcolare.
+		</p>
+
+		<h3>[method:this divide]( [param:Vector2 v] )</h3>
+		<p>Divide questo vettore per [page:Vector2 v].</p>
+
+		<h3>[method:this divideScalar]( [param:Float s] )</h3>
+		<p>
+			Divide questo vettore per lo scalare [page:Float s].
+		</p>
+
+		<h3>[method:Float dot]( [param:Vector2 v] )</h3>
+		<p>
+			Calcola il [link:https://en.wikipedia.org/wiki/Dot_product prodotto scalare] di questo vettore e
+	  	[page:Vector2 v].
+		</p>
+
+		<h3>[method:Float cross]( [param:Vector2 v] )</h3>
+		<p>
+			Calcola il [link:https://en.wikipedia.org/wiki/Cross_product prodotto vettoriale] di questo vettore e
+	  	[page:Vector2 v]. Si noti che un 'prodotto vettoriale' in 2D non è ben definito. 
+			Questa funzione calcola un prodotto vettoriale geometrico spesso utilizzato nella grafica 2D.
+		</p>
+
+		<h3>[method:Boolean equals]( [param:Vector2 v] )</h3>
+		<p>Restituisce `true` se il componente di questo vettore e [page:Vector2 v] sono strettamente uguali; `false` altrimenti.</p>
+
+		<h3>[method:this floor]()</h3>
+		<p>I componenti di questo vettore vengono arrotondati per difetto al valore intero più vicino.</p>
+
+		<h3>[method:this fromArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - l'array sorgente.<br />
+		[page:Integer offset] - (opzionale) l'offset nell'array. Il valore predefinito è 0.<br /><br />
+
+		Imposta il valore [page:.x x] di questo vettore su `array[ offset ]` e il valore [page:.y y] su `array[ offset + 1 ]`.
+		</p>
+
+		<h3>[method:this fromBufferAttribute]( [param:BufferAttribute attribute], [param:Integer index] )</h3>
+		<p>
+		[page:BufferAttribute attribute] - l'array sorgente.<br />
+		[page:Integer index] - indice nell'attributo.<br /><br />
+
+		Imposta i valori [page:.x x] e [page:.y y] di questo vettore nell'[page:BufferAttribute attributo].
+		</p>
+
+		<h3>[method:Float getComponent]( [param:Integer index] )</h3>
+		<p>
+		[page:Integer index] - 0 o 1.<br /><br />
+
+		Se l'indice è uguale 0 restituisce il valore [page:.x x]. <br />
+		Se l'indice è uguale 1 restituisce il valore [page:.y y].
+		</p>
+
+		<h3>[method:Float length]()</h3>
+		<p>
+			Calcola la [link:https://en.wikipedia.org/wiki/Euclidean_distance lunghezza Euclidea]
+			(lunghezza in linea retta) da (0, 0) a (x, y).</p>
+
+		<h3>[method:Float manhattanLength]()</h3>
+		<p>
+			Calcola la [link:http://en.wikipedia.org/wiki/Taxicab_geometry lunghezza Manhattan] di questo vettore.
+		</p>
+
+		<h3>[method:Float lengthSq]()</h3>
+		<p>
+			Calcola il quadrato della [link:https://en.wikipedia.org/wiki/Euclidean_distance lunghezza Euclidea]
+			(lunghezza in linea retta) da (0, 0) a (x, y). Se stai comparando le lunghezze dei vettori, dovresti invece
+			confrontare la lunghezza quadrata poiché è leggermente più efficiente da calcolare.
+		</p>
+
+		<h3>[method:this lerp]( [param:Vector2 v], [param:Float alpha] )</h3>
+		<p>
+		[page:Vector2 v] - [page:Vector2] verso cui interpolare.<br />
+		[page:Float alpha] - fattore interpolazione, tipicamente nell'intervallo chiuso `[0, 1]`.<br /><br />
+
+		Interpola linearmente tra questo vettore e [page:Vector2 v], dove alfa è la distanza percentuale
+		lungo la linea - alfa = 0 sarà questo vettore e alfa = 1 sarà [page:Vector2 v].
+		</p>
+
+		<h3>[method:this lerpVectors]( [param:Vector2 v1], [param:Vector2 v2], [param:Float alpha] )</h3>
+		<p>
+		[page:Vector2 v1] - il [page:Vector2] iniziale.<br />
+		[page:Vector2 v2] - [page:Vector2] verso cui interpolare.<br />
+		[page:Float alpha] - fattore interpolazione, tipicamente nell'intervallo chiuso `[0, 1]`.<br /><br />
+
+		Imposta questo vettore per essere il vettore lineare interpolato tra [page:Vector2 v1] e
+		[page:Vector2 v2] dove alfa è la distanza percentuale lungo la linea che collega i due vettori
+		- alfa = 0 sarà [page:Vector2 v1] e alfa = 1 sarà [page:Vector2 v].
+		</p>
+
+		<h3>[method:this negate]()</h3>
+		<p>Inverte questo vettore - cioè imposta x = -x e y = -y.</p>
+
+		<h3>[method:this normalize]()</h3>
+		<p>
+			Converte questo vettore ad un [link:https://en.wikipedia.org/wiki/Unit_vector vettore unitario] - cioè, lo imposta uguale 
+			ad un vettore con la stessa direzione di questo, ma con [page:.length lunghezza] 1.
+		</p>
+
+		<h3>[method:this max]( [param:Vector2 v] )</h3>
+		<p>
+			Se il valore x o y di questo vettore è minore del valore x o y di [page:Vector2 v], sostituisce
+			questo valore con il valore massimo corrispondente.
+		</p>
+
+		<h3>[method:this min]( [param:Vector2 v] )</h3>
+		<p>
+			Se il valore x o y di questo vettore è maggiore del valore x o y di [page:Vector2 v], sostituisce
+			questo valore con il valore minimo corrispondente.
+		</p>
+
+		<h3>[method:this multiply]( [param:Vector2 v] )</h3>
+		<p>Moltiplica questo vettore per [page:Vector2 v].</p>
+
+
+		<h3>[method:this multiplyScalar]( [param:Float s] )</h3>
+		<p>Moltiplica questo vettore per lo scalare [page:Float s].</p>
+
+		<h3>[method:this rotateAround]( [param:Vector2 center], [param:Float angle] )</h3>
+		<p>
+			[page:Vector2 center] - il punto attorno al quale ruotare.<br />
+			[page:Float angle] - l'angolo di rotazione, in radianti.<br /><br />
+
+			Ruota questo vettore attorno al [page:Vector2 centro] di un [page:Float angolo] in radianti.
+		</p>
+
+		<h3>[method:this round]()</h3>
+		<p>I componenti di questo vettore vengono arrotondati al valore intero più vicino.</p>
+
+		<h3>[method:this roundToZero]()</h3>
+		<p>
+			I componenti di questo vettore vengono arrotondati per difetto (per eccesso se negativo, per difetto se positivo) a un valore intero.
+		</p>
+
+		<h3>[method:this set]( [param:Float x], [param:Float y] )</h3>
+		<p>Imposta i componenti [page:.x x] e [page:.y y] di questo.</p>
+
+		<h3>[method:this setComponent]( [param:Integer index], [param:Float value] )</h3>
+		<p>
+		[page:Integer index] - 0 o 1.<br />
+		[page:Float value] - [page:Float]<br /><br />
+
+		Se l'indice è uguale a 0 imposta [page:.x x] a [page:Float value]. <br />
+		Se l'indice è uguale a 1 imposta [page:.y y] a [page:Float value]. <br />
+		</p>
+
+		<h3>[method:this setLength]( [param:Float l] )</h3>
+		<p>
+			Imposta questo vettore ad un vettore con la stessa direzione di questo, ma con [page:.length lunghezza]
+			[page:Float l].
+		</p>
+
+		<h3>[method:this setScalar]( [param:Float scalar] )</h3>
+		<p>
+			Imposta i valori [page:.x x] e [page:.y y] di questo vettore entrambi uguali allo [page:Float scalare].
+		</p>
+
+		<h3>[method:this setX]( [param:Float x] )</h3>
+		<p>Sostuisce il valore di [page:.x x] di questo vettore con [page:Float x].</p>
+
+		<h3>[method:this setY]( [param:Float y] )</h3>
+		<p>Sostuisce il valore di [page:.y y] di questo vettore con [page:Float y].</p>
+
+		<h3>[method:this sub]( [param:Vector2 v] )</h3>
+		<p>Sottrae [page:Vector2 v] da questo vettore.</p>
+
+		<h3>[method:this subScalar]( [param:Float s] )</h3>
+		<p>Sottrae [page:Float s] dai componenti [page:.x x] e [page:.y y] di questo vettore.</p>
+
+		<h3>[method:this subVectors]( [param:Vector2 a], [param:Vector2 b] )</h3>
+		<p>Imposta questo vettore a [page:Vector2 a] - [page:Vector2 b].</p>
+
+		<h3>[method:Array toArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - (opzionale) array in cui memorizzare questo vettore. Se non viene fornito, verrà creato un nuovo array.<br />
+		[page:Integer offset] - (opzionale) offset opzionale nell'array.<br /><br />
+
+		Restituisce un array [x, y], o copia x e y nell'[page:Array array] fornito.
+		</p>
+
+		<h3>[method:this random]()</h3>
+		<p>
+			Imposta ogni componente di questo vettore ad un valore pseudo-random tra 0 e 1, escludendo 1.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 467 - 0
docs/api/it/math/Vector3.html

@@ -0,0 +1,467 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Classe che rappresenta un [link:https://en.wikipedia.org/wiki/Vector_space vettore] 3D.
+
+			Un vettore 3D è una tripletta ordinata di numeri (etichettati con x, y e z), che può essere
+			utilizzata per rappresentare una serie di cose, come:
+		</p>
+
+		<ul>
+			<li>
+				Un punto nello spazio 3D.
+			</li>
+			<li>
+				Una direzione e lunghezza nello spazio 3D. In three.js la lunghezza sarà sempre la 
+				[link:https://en.wikipedia.org/wiki/Euclidean_distance distanza Euclidea]
+				(distanza in liena retta) da `(0, 0, 0)` a `(x, y, z)` e anche la direzione viene misurata da
+				`(0, 0, 0)` verso `(x, y, z)`.
+			</li>
+			<li>
+				Qualsiasi tripletta di numeri ordinata arbitrariamente.
+			</li>
+		</ul>
+
+		<p>
+			Ci sono altre cose che possono essere rappresentate da un vettore 3D, come i vettori 
+			di quantità di moto e così via, tuttavia questi sono gli usi comuni in three.js.
+		</p>
+
+		<p>
+			L'iterazione di un'istanza [name] produrrà i suoi componenti `(x, y, z)` nell'ordine corrispondente.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const a = new THREE.Vector3( 0, 1, 0 );
+
+		// nessun argomento; sarà inizializzato a (0, 0, 0)
+		const b = new THREE.Vector3( );
+
+		const d = a.distanceTo( b );
+		</code>
+
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>
+		[page:Float x] - il valore x di questo vettore. Il valore predefinito è `0`.<br />
+		[page:Float y] - il valore y di questo vettore. Il valore predefinito è `0`.<br />
+		[page:Float z] - il valore z di questo vettore. Il valore predefinito è `0`.<br /><br />
+
+		Crea un nuovo [name].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Boolean isVector3]</h3>
+		<p>
+			Flag di sola lettura per verificare che l'oggetto dato sia di tipo [name].
+		</p>
+
+		<h3>[property:Float x]</h3>
+
+		<h3>[property:Float y]</h3>
+
+		<h3>[property:Float z]</h3>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this add]( [param:Vector3 v] )</h3>
+		<p>Aggiunge [page:Vector3 v] a questo vettore.</p>
+
+		<h3>[method:this addScalar]( [param:Float s] )</h3>
+		<p>Aggiunge il valore scalare [page:Float s] ai valori [page:.x x], [page:.y y] e [page:.z z] di questo vettore.</p>
+
+		<h3>[method:this addScaledVector]( [param:Vector3 v], [param:Float s] )</h3>
+		<p>Aggiunge il multiplo di [page:Vector3 v] e [page:Float s] a questo vettore.</p>
+
+		<h3>[method:this addVectors]( [param:Vector3 a], [param:Vector3 b] )</h3>
+		<p>Imposta questo vettore a [page:Vector3 a] + [page:Vector3 b].</p>
+
+		<h3>[method:this applyAxisAngle]( [param:Vector3 axis], [param:Float angle] )</h3>
+		<p>
+		[page:Vector3 axis] - Un [page:Vector3] normalizzato.<br />
+		[page:Float angle] - Un angolo in radianti.<br /><br />
+
+		Applica una rotazione specifica da un asse e un angolo a questo vettore.
+		</p>
+
+		<h3>[method:this applyEuler]( [param:Euler euler] )</h3>
+		<p>
+			Applica la trasformazione di Eulero a questo vettore convertendo l'oggetto [page:Euler Eulero]
+			a un [page:Quaternion Quaternione] e applicandolo.
+		</p>
+
+		<h3>[method:this applyMatrix3]( [param:Matrix3 m] )</h3>
+		<p>Moltiplica questo vettore per [page:Matrix3 m]</p>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+		<p>
+			Moltiplica questo vettore (con un 1 implicito come quarto componente) per m, e divide per prospettiva.
+		</p>
+
+		<h3>[method:this applyNormalMatrix]( [param:Matrix3 m] )</h3>
+		<p>Moltiplica questo vettore per la matrice normale [page:Matrix3 m] e normalizza il risultato.</p>
+
+		<h3>[method:this applyQuaternion]( [param:Quaternion quaternion] )</h3>
+		<p>
+			Applica una trasformata [page:Quaternion Quaternione] a questo vettore.
+		</p>
+
+
+		<h3>[method:Float angleTo]( [param:Vector3 v] )</h3>
+		<p>
+			Restituisce l'angolo tra questo vettore e il vettore [page:Vector3 v] in radianti.
+		</p>
+
+		<h3>[method:this ceil]()</h3>
+		<p>
+			I componenti [page:.x x], [page:.y y] e [page:.z z] di questo vettore vengono arrotondati per eccesso al valore intero più vicino.
+		</p>
+
+		<h3>[method:this clamp]( [param:Vector3 min], [param:Vector3 max] )</h3>
+		<p>
+		[page:Vector3 min] - i valori minimi [page:.x x], [page:.y y] e [page:.z z].<br />
+		[page:Vector3 max] - i valori massimi [page:.x x], [page:.y y] e [page:.z z] nell'intervallo desiderato.<br /><br />
+
+		Se il valore x, y o z di questo vettore è maggiore del valore di x, y o z del vettore massimo, verrà sostuito dal corrispondente valore.<br /><br />
+		Se il valore x, y o z di questo vettore è minore del valore di x, y o z del vettore minimo, verrà sostuito dal corrispondente valore.
+		</p>
+
+		<h3>[method:this clampLength]( [param:Float min], [param:Float max] )</h3>
+		<p>
+		[page:Float min] - il valore minimo a cui verrà fissata la lunghezza. <br />
+		[page:Float max] - il valore massimo a cui verrà fissata la lunghezza.<br /><br />
+
+		Se la lunghezza di questo vettore è maggiore del valore massimo, il vettore verrà sostituito in modo che la sua lunghezza sia il valore massimo.<br /><br />
+		Se la lunghezza di questo vettore è minore del valore minimo, il vettore verrà sostituito in modo che la sua lunghezza sia il valore minimo.
+		</p>
+
+		<h3>[method:this clampScalar]( [param:Float min], [param:Float max] )</h3>
+		<p>
+		[page:Float min] - il valore minimo a cui verranno fissati i componenti.<br />
+		[page:Float max] - il valore massimo a cui verranno fissati i componenti.<br /><br />
+
+		Se i valori di x, y o z di questo vettore sono maggiori del valore massimo, verranno sostuiti dal valore massimo.<br /><br />
+		Se i valori di x, y o z di questo vettore sono minori del valore minimo, verranno sostuiti dal valore minimo.
+		</p>
+
+		<h3>[method:Vector3 clone]()</h3>
+		<p>
+			Restituisce un nuovo Vector3 con gli stessi valori [page:.x x], [page:.y y] e [page:.z z] di questo.
+		</p>
+
+		<h3>[method:this copy]( [param:Vector3 v] )</h3>
+		<p>
+			Copia i valori delle proprietà [page:.x x], [page:.y y] e [page:.z z] del vettore passato in questo vettore.
+		</p>
+
+		<h3>[method:this cross]( [param:Vector3 v] )</h3>
+		<p>
+			Imposta questo vettore come [link:https://en.wikipedia.org/wiki/Cross_product prodotto vettoriale] di se stesso e [page:Vector3 v].
+		</p>
+
+		<h3>[method:this crossVectors]( [param:Vector3 a], [param:Vector3 b] )</h3>
+		<p>
+			Imposta questo vettore come [link:https://en.wikipedia.org/wiki/Cross_product prodotto vettoriale] di [page:Vector3 a] e [page:Vector3 b].
+		</p>
+
+		<h3>[method:Float distanceTo]( [param:Vector3 v] )</h3>
+		<p>Calcola la distanza da questo vettore e [page:Vector3 v].</p>
+
+		<h3>[method:Float manhattanDistanceTo]( [param:Vector3 v] )</h3>
+		<p>
+			Calcola la [link:https://en.wikipedia.org/wiki/Taxicab_geometry distanza Manhattan] tra questo vettore e [page:Vector3 v].
+		</p>
+
+		<h3>[method:Float distanceToSquared]( [param:Vector3 v] )</h3>
+		<p>
+			Calcola la distanza al quadrato da questo vettore a [page:Vector3 v]. Se stai semplicemente
+			confrontando la distanza con un'altra distanza, dovresti invece confrontare la distanza al quadrato
+			poiché è leggermente più efficiente da calcolare.
+		</p>
+
+		<h3>[method:this divide]( [param:Vector3 v] )</h3>
+		<p>Divide questo vettore per [page:Vector3 v].</p>
+
+		<h3>[method:this divideScalar]( [param:Float s] )</h3>
+		<p>
+			Divide questo vettore per lo scalare [page:Float s].
+		</p>
+
+		<h3>[method:Float dot]( [param:Vector3 v] )</h3>
+		<p>
+			Calcola il [link:https://en.wikipedia.org/wiki/Dot_product prodotto scalare] di questo vettore e
+			[page:Vector3 v].
+		</p>
+
+		<h3>[method:Boolean equals]( [param:Vector3 v] )</h3>
+		<p>Restituisce `true` se i componenti di questo vettore e [page:Vector3 v] sono strettamente uguali; `false` altrimenti.</p>
+
+		<h3>[method:this floor]()</h3>
+		<p>I componenti di questo vettore vengono arrotondati per difetto al valore intero più vicino.</p>
+
+		<h3>[method:this fromArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - l'array sorgente.<br />
+		[page:Integer offset] - (opzionale) l'offset nell'array. Il valore predefinito è 0.<br /><br />
+
+		Imposta il valore [page:.x x] di questo vettore su `array[ offset + 0 ]`, il valore [page:.y y] su `array[ offset + 1 ]`
+		e il valore [page:.z z] su `array[ offset + 2 ]`.
+		</p>
+
+		<h3>[method:this fromBufferAttribute]( [param:BufferAttribute attribute], [param:Integer index] )</h3>
+		<p>
+		[page:BufferAttribute attribute] - l'attributo sorgente.<br />
+		[page:Integer index] - l'indice nell'attributo.<br /><br />
+
+		Imposta i valori [page:.x x], [page:.y y] e [page:.z z] di questo vettore nell'[page:BufferAttribute attributo].
+		</p>
+
+		<h3>[method:Float getComponent]( [param:Integer index] )</h3>
+		<p>
+		[page:Integer index] - 0, 1 o 2.<br /><br />
+
+		Se l'indice è uguale a 0 restituisce il valore [page:.x x]. <br />
+		Se l'indice è uguale a 1 restituisce il valore [page:.y y]. <br />
+		Se l'indice è uguale a 2 restituisce il valore [page:.z z].
+		</p>
+
+		<h3>[method:Float length]()</h3>
+		<p>Calcola la [link:https://en.wikipedia.org/wiki/Euclidean_distance lunghezza Euclidea]
+		(lunghezza in linea retta) da (0, 0, 0) a (x, y, z).</p>
+
+		<h3>[method:Float manhattanLength]()</h3>
+		<p>
+			Calcola la [link:http://en.wikipedia.org/wiki/Taxicab_geometry lunghezza Manhattan] di questo vettore.
+		</p>
+
+		<h3>[method:Float lengthSq]()</h3>
+		<p>
+			Calcola il quadrato della [link:https://en.wikipedia.org/wiki/Euclidean_distance lunghezza Euclidea]
+			(lunghezza in linea retta) da (0, 0, 0) a (x, y, z). Se stai comparando le lunghezze dei vettori, dovresti invece
+			confrontare la lunghezza quadrata poiché è leggermente più efficiente da calcolare.
+		</p>
+
+		<h3>[method:this lerp]( [param:Vector3 v], [param:Float alpha] )</h3>
+		<p>
+		[page:Vector3 v] - [page:Vector3] verso in cui interpolare.<br />
+		[page:Float alpha] - fattore di interpolazione, tipicamente nell'intervallo chiuso `[0, 1]`.<br /><br />
+
+		Interpola linearmente tra questo vettore e [page:Vector3 v], dove alfa è la distanza percentuale
+		lungo la linea - alfa = 0 sarà questo vettore e alfa = 1 sarà [page:Vector3 v].
+		</p>
+
+		<h3>[method:this lerpVectors]( [param:Vector3 v1], [param:Vector3 v2], [param:Float alpha] )</h3>
+		<p>
+		[page:Vector3 v1] - il [page:Vector3] iniziale.<br />
+		[page:Vector3 v2] - [page:Vector3] verso cui interpolare.<br />
+		[page:Float alpha] - fattore di interpolazione, tipicamente nell'intervallo chiuso `[0, 1]`.<br /><br />
+
+		Imposta questo vettore per essere il vettore lineare interpolato tra [page:Vector3 v1] e
+		[page:Vector3 v2] dove alfa è la distanza percentuale lungo la linea che collega i due vettori
+		- alfa = 0 sarà [page:Vector3 v1] e alfa = 1 sarà [page:Vector3 v2].
+		</p>
+
+		<h3>[method:this max]( [param:Vector3 v] )</h3>
+		<p>
+			Se il valore x, y o z di questo vettore è minore del valore x, y o z di [page:Vector3 v], sostituisce
+			questo valore con il valore massimo corrispondente.
+		</p>
+
+		<h3>[method:this min]( [param:Vector3 v] )</h3>
+		<p>
+			Se il valore x, y o z di questo vettore è maggiore del valore x, y o z di [page:Vector3 v], sostituisce
+			questo valore con il valore minimo corrispondente.
+		</p>
+
+		<h3>[method:this multiply]( [param:Vector3 v] )</h3>
+		<p>Moltiplica questo vettore per [page:Vector3 v].</p>
+
+		<h3>[method:this multiplyScalar]( [param:Float s] )</h3>
+		<p>Moltiplica questo vettore per lo scalare [page:Float s].</p>
+
+		<h3>[method:this multiplyVectors]( [param:Vector3 a], [param:Vector3 b] )</h3>
+		<p>Imposta questo vettore uguale a [page:Vector3 a] * [page:Vector3 b], dal punto di vista dei componenti.</p>
+
+		<h3>[method:this negate]()</h3>
+		<p>Inverte questo vettore - cioè imposta x = -x, y = -y e z = -z.</p>
+
+		<h3>[method:this normalize]()</h3>
+		<p>
+			Converte questo vettore in un [link:https://en.wikipedia.org/wiki/Unit_vector vettore unitario] - cioè, lo imposta uguale ad un vettore 
+			con la stessa direzione di questo, ma con [page:.length lunghezza] 1.
+		</p>
+
+		<h3>[method:this project]( [param:Camera camera] )</h3>
+		<p>
+		[page:Camera camera] — telecamera da utilizzare nella proiezione.<br /><br />
+
+		Proietta questo vettore dallo spazio world nello spazio delle coordinate normalizzate del dispositivo (NDC) della telecamera. 
+		</p>
+
+		<h3>[method:this projectOnPlane]( [param:Vector3 planeNormal] )</h3>
+		<p>
+		[page:Vector3 planeNormal] - Un vettore che rappresenta un piano normale.<br /><br />
+
+		[link:https://en.wikipedia.org/wiki/Vector_projection Proietta] questo vettore su un piano sottraendo 
+		questo vettore proiettato sulla normale del piano da questo vettore.
+		</p>
+
+		<h3>[method:this projectOnVector]( [param:Vector3 v] )</h3>
+		<p>[link:https://en.wikipedia.org/wiki/Vector_projection Proietta] questo vettore in [page:Vector3 v].</p>
+
+		<h3>[method:this reflect]( [param:Vector3 normal] )</h3>
+		<p>
+		[page:Vector3 normal] - la normale al piano riflettente.<br /><br />
+
+		Riflette questo vettore fuori dal piano ortogonale alla [page:Vector3 normale]. Si suppone che la normale
+		abbia lunghezza unitaria.
+		</p>
+
+		<h3>[method:this round]()</h3>
+		<p>I componenti di questo vettore vengono arrotondati al valore intero più vicino.</p>
+
+		<h3>[method:this roundToZero]()</h3>
+		<p>
+			I componenti di questo vettore vengono arrotondati verso zero (per eccesso se negativo, per difetto se positivo) a un valore intero.
+		</p>
+
+		<h3>[method:this set]( [param:Float x], [param:Float y], [param:Float z] )</h3>
+		<p>Imposta i componenti [page:.x x], [page:.y y] e [page:.z z] di questo vettore.</p>
+
+		<h3>[method:this setComponent]( [param:Integer index], [param:Float value] )</h3>
+		<p>
+		[page:Integer index] - 0, 1 o 2.<br />
+		[page:Float value] - [page:Float]<br /><br />
+
+		Se l'indice è uguale a 0 imposta [page:.x x] a [page:Float value]. <br />
+		Se l'indice è uguale a 1 imposta [page:.y y] a [page:Float value]. <br />
+		Se l'indice è uguale a 2 imposta [page:.z z] a [page:Float value].
+		</p>
+
+		<h3>[method:this setFromCylindrical]( [param:Cylindrical c] )</h3>
+		<p>
+			Imposta questo vettore dalle coordinate cilindriche [page:Cylindrical c].
+		</p>
+
+		<h3>[method:this setFromCylindricalCoords]( [param:Float radius], [param:Float theta], [param:Float y] )</h3>
+		<p>Imposta questo vettore dalle coordinate cilindriche [page:Cylindrical radius], [page:Cylindrical theta] and [page:Cylindrical y].</p>
+
+		<h3>[method:this setFromEuler]( [param:Euler euler] )</h3>
+		<p>
+			Imposta i componenti [page:.x x], [page:.y y] e [page:.z z] di questo vettore dai componenti x, y, e z 
+			dell'[page:Euler angolo di Eulero] specificato.
+		</p>
+
+		<h3>[method:this setFromMatrixColumn]( [param:Matrix4 matrix], [param:Integer index] )</h3>
+		<p>
+			Imposta i componenti [page:.x x], [page:.y y] e [page:.z z] di questo vettore dalla colonna [page:Integer indice] della [page:Matrix4 matrice].
+		</p>
+
+		<h3>[method:this setFromMatrix3Column]( [param:Matrix3 matrix], [param:Integer index] )</h3>
+		<p>
+			Imposta i componenti [page:.x x], [page:.y y] e [page:.z z] di questo vettore dalla colonna [page:Integer indice] della [page:Matrix4 matrice].
+		</p>
+
+		<h3>[method:this setFromMatrixPosition]( [param:Matrix4 m] )</h3>
+		<p>
+			Imposta questo vettore sugli elementi di posizione della 
+			[link:https://en.wikipedia.org/wiki/Transformation_matrix matrice di trasformazione] [page:Matrix4 m].
+		</p>
+
+		<h3>[method:this setFromMatrixScale]( [param:Matrix4 m] )</h3>
+		<p>
+			Imposta questo vettore sugli elementi scale della 
+			[link:https://en.wikipedia.org/wiki/Transformation_matrix matrice di trasformazione] [page:Matrix4 m].
+		</p>
+
+		<h3>[method:this setFromSpherical]( [param:Spherical s] )</h3>
+		<p>
+			Imposta questo vettore dalle coordinate sferiche [page:Spherical s].
+		</p>
+
+		<h3>[method:this setFromSphericalCoords]( [param:Float radius], [param:Float phi], [param:Float theta] )</h3>
+		<p>Imposta questo vettore dalle coordinate sferiche [page:Spherical radius], [page:Spherical phi] e [page:Spherical theta].</p>
+
+		<h3>[method:this setLength]( [param:Float l] )</h3>
+		<p>
+			Imposta questo vettore ad un vettore con la stessa direzione di questo, ma con la [page:.length lunghezza]
+			[page:Float l].
+		</p>
+
+		<h3>[method:this setScalar]( [param:Float scalar] )</h3>
+		<p>
+			Imposta i valori [page:.x x], [page:.y y] e [page:.z z] di questo vettore tutti ugualmente allo [page:Float scalare].
+		</p>
+
+		<h3>[method:this setX]( [param:Float x] )</h3>
+		<p>Sostuisce il valore [page:.x x] di questo vettore con [page:Float x].</p>
+
+		<h3>[method:this setY]( [param:Float y] )</h3>
+		<p>Sostuisce il valore [page:.y y] di questo vettore con [page:Float y].</p>
+
+		<h3>[method:this setZ]( [param:Float z] )</h3>
+		<p>Sostuisce il valore [page:.z z] di questo vettore con [page:Float z].</p>
+
+		<h3>[method:this sub]( [param:Vector3 v] )</h3>
+		<p>Sottrae [page:Vector3 v] da questo vettore.</p>
+
+		<h3>[method:this subScalar]( [param:Float s] )</h3>
+		<p>Sottrae [page:Float s] dai componenti [page:.x x], [page:.y y] e [page:.z z] di questo vettore.</p>
+
+		<h3>[method:this subVectors]( [param:Vector3 a], [param:Vector3 b] )</h3>
+		<p>Imposta questo vettore a [page:Vector3 a] - [page:Vector3 b].</p>
+
+		<h3>[method:Array toArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - (opzionale) array per memorizzare questo vettore. Se non viene fornito, verrà creato un nuovo array.<br />
+		[page:Integer offset] - (opzionale) offset opzionale nell'array.<br /><br />
+
+		Restituisce un array [x, y, z], o copia x, y e z nell'[page:Array array] fornito.
+		</p>
+
+		<h3>[method:this transformDirection]( [param:Matrix4 m] )</h3>
+		<p>
+			Trasforma la direzione di questo vettore da una matrice (3 x 3 in alto a sinistra sottoinsieme di [page:Matrix4 m])
+			e [page:.normalize normalizza] il risultato.
+		</p>
+
+		<h3>[method:this unproject]( [param:Camera camera] )</h3>
+		<p>
+		[page:Camera camera] — telecamera da usare nella proiezione.<br /><br />
+
+		Proietta questo vettore dallo spazio delle coordinate normalizzate del dispositivo (NDC) della telecamera nello spazio world. 
+		</p>
+
+		<h3>[method:this random]()</h3>
+		<p>
+			Imposta ogni componente di questo vettore ad un valore pseudo random tra 0 e 1, escludendo 1.
+		</p>
+
+		<h3>[method:this randomDirection]()</h3>
+		<p>
+			Imposta questo vettore su un punto uniformemente casuale su una sfera unitaria.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 348 - 0
docs/api/it/math/Vector4.html

@@ -0,0 +1,348 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		<h1>[name]</h1>
+
+		<p class="desc">
+			Classe che rappresenta un [link:https://en.wikipedia.org/wiki/Vector_space vettore] 4D.
+
+			Un vettore 4D è una quadrupla ordinata di numeri (etichettati con x, y, z e w), che può essere
+			utilizzata per rappresentare una serie di cose, come:
+		</p>
+
+		<ul>
+			<li>
+				Un punto nello spazio 4D.
+			</li>
+			<li>
+				Una direzione e lunghezza nello spazio 4D. In three.js la lunghezza sarà sempre la 
+				[link:https://en.wikipedia.org/wiki/Euclidean_distance distanza Euclidea]
+				(distanza in liena retta) da `(0, 0, 0, 0)` a `(x, y, z, w)` e anche la direzione viene misurata da
+				`(0, 0, 0, 0)` verso `(x, y, z, w)`.
+			</li>
+			<li>
+				Qualsiasi quadrupla di numeri ordinata arbitrariamente.
+			</li>
+		</ul>
+
+		<p>
+			Ci sono altre cose che possono essere rappresentate da un vettore 4D, tuttavia questi sono gli usi più comuni in *three.js*.
+		</p>
+
+		<p>
+			L'iterazione di un'istanza [name] produrrà i suoi componenti `(x, y, z, w)` nell'ordine corrispondente.
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+		const a = new THREE.Vector4( 0, 1, 0, 0 );
+
+		// nessun argomento; sarà inizializzato a (0, 0, 0, 1)
+		const b = new THREE.Vector4( );
+
+		const d = a.dot( b );
+		</code>
+
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( [param:Float x], [param:Float y], [param:Float z], [param:Float w] )</h3>
+		<p>
+		[page:Float x] - il valore x di questo vettore. Il valore predefinito è `0`.<br />
+		[page:Float y] - il valore y di questo vettore. Il valore predefinito è `0`.<br />
+		[page:Float z] - il valore z di questo vettore. Il valore predefinito è `0`.<br />
+		[page:Float w] - il valore w di questo vettore. Il valore predefinito è `1`.<br /><br />
+
+		Crea un nuovo [name].
+		</p>
+
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:Boolean isVector4]</h3>
+		<p>
+			Flag di sola lettura per verificare che l'oggetto dato sia di tipo [name].
+		</p>
+
+		<h3>[property:Float x]</h3>
+
+		<h3>[property:Float y]</h3>
+
+		<h3>[property:Float z]</h3>
+
+		<h3>[property:Float w]</h3>
+
+		<h3>[property:Float width]</h3>
+		<p>Alias per [page:.z z].</p>
+
+		<h3>[property:Float height]</h3>
+		<p>Alias per [page:.w w].</p>
+
+
+		<h2>Metodi</h2>
+
+		<h3>[method:this add]( [param:Vector4 v] )</h3>
+		<p>Aggiunge [page:Vector4 v] a questo vettore.</p>
+
+		<h3>[method:this addScalar]( [param:Float s] )</h3>
+		<p>Aggiunge il valore scalare [page:Float s] ai valori [page:.x x], [page:.y y], [page:.z z] e [page:.w w] di questo vettore.</p>
+
+		<h3>[method:this addScaledVector]( [param:Vector4 v], [param:Float s] )</h3>
+		<p>Aggiunge il multiplo di [page:Vector4 v] e [page:Float s] a questo vettore.</p>
+
+		<h3>[method:this addVectors]( [param:Vector4 a], [param:Vector4 b] )</h3>
+		<p>Imposta questo vettore a [page:Vector4 a] + [page:Vector4 b].</p>
+
+		<h3>[method:this applyMatrix4]( [param:Matrix4 m] )</h3>
+		<p>
+			Moltiplica questo vettore per 4 x 4 [page:Matrix4 m].
+		</p>
+
+		<h3>[method:this ceil]()</h3>
+		<p>
+			I componenti [page:.x x], [page:.y y], [page:.z z] e [page:.w w] di questo vettore vengono arrotondati per eccesso al valore intero più vicino.
+		</p>
+
+		<h3>[method:this clamp]( [param:Vector4 min], [param:Vector4 max] )</h3>
+		<p>
+		[page:Vector4 min] - i valori minimi [page:.x x], [page:.y y], [page:.z z] e [page:.w w].<br />
+		[page:Vector4 max] - i valori massimi [page:.x x], [page:.y y], [page:.z z] e [page:.w w] nell'intervallo desiderato<br /><br />
+
+		Se il valore x, y, z o w di questo vettore è maggiore del valore di x, y, z o w del vettore massimo, verrà sostuito dal corrispondente valore.<br /><br />
+		Se il valore x, y, z o w di questo vettore è minore del valore di x, y, z o w del vettore minimo, verrà sostuito dal corrispondente valore.
+		</p>
+
+		<h3>[method:this clampLength]( [param:Float min], [param:Float max] )</h3>
+		<p>
+		[page:Float min] - il valore minimo a cui verrà fissata la lunghezza. <br />
+		[page:Float max] - il valore massimo a cui verrà fissata la lunghezza.<br /><br />
+
+		Se la lunghezza di questo vettore è maggiore del valore massimo, il vettore verrà sostituito dal valore massimo.<br /><br />
+		Se la lunghezza di questo vettore è minore del valore minimo, il vettore verrà sostituito dal valore minimo.
+		</p>
+
+		<h3>[method:this clampScalar]( [param:Float min], [param:Float max] )</h3>
+		<p>
+		[page:Float min] - il valore minimo a cui verranno fissati i componenti.<br />
+		[page:Float max] - il valore massimo a cui verranno fissati i componenti.<br /><br />
+
+		Se i valori di x, y, z o w di questo vettore sono maggiori del valore massimo, verranno sostuiti dal valore massimo.<br /><br />
+		Se i valori di x, y, z o w di questo vettore sono minori del valore minimo, verranno sostuiti dal valore minimo.
+		</p>
+
+		<h3>[method:Vector4 clone]()</h3>
+		<p>
+			Restituisce un nuovo Vector4 con gli stessi valori [page:.x x], [page:.y y], [page:.z z] e [page:.w w] di questo.
+		</p>
+
+		<h3>[method:this copy]( [param:Vector4 v] )</h3>
+		<p>
+			Copia i valori delle proprietà [page:.x x], [page:.y y], [page:.z z] e [page:.w w] del vettore passato in questo vettore Vector4.
+		</p>
+
+		<h3>[method:this divideScalar]( [param:Float s] )</h3>
+		<p>
+			Divide questo vettore per lo scalare [page:Float s].
+		</p>
+
+		<h3>[method:Float dot]( [param:Vector4 v] )</h3>
+		<p>
+			Calcola il [link:https://en.wikipedia.org/wiki/Dot_product prodotto scalare] di questo vettore e
+			[page:Vector4 v].
+		</p>
+
+		<h3>[method:Boolean equals]( [param:Vector4 v] )</h3>
+		<p>Restituisce `true` se i componenti di questo vettore e [page:Vector4 v] sono strettamente uguali; `false` altrimenti.</p>
+
+		<h3>[method:this floor]()</h3>
+		<p>I componenti di questo vettore vengono arrotondati per difetto al valore intero più vicino.</p>
+
+		<h3>[method:this fromArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+		[page:Array array] - l'array sorgente.<br />
+		[page:Integer offset] - (opzionale) l'offset nell'array. Il valore predefinito è 0.<br /><br />
+
+		Imposta il valore [page:.x x] di questo vettore su `array[ offset + 0 ]`, il valore [page:.y y] su `array[ offset + 1 ]`,
+		il valore [page:.z z] su `array[ offset + 2 ]` e il valore [page:.w w] su `array[ offset + 3 ]`.
+		</p>
+
+		<h3>[method:this fromBufferAttribute]( [param:BufferAttribute attribute], [param:Integer index] )</h3>
+		<p>
+		[page:BufferAttribute attribute] - l'attributo sorgente.<br />
+		[page:Integer index] - l'indice nell'attributo.<br /><br />
+
+		Imposta i valori [page:.x x], [page:.y y], [page:.z z] e [page:.w w] di questo vettore nell'[page:BufferAttribute attributo].
+		</p>
+
+		<h3>[method:Float getComponent]( [param:Integer index] )</h3>
+		<p>
+		[page:Integer index] - 0, 1, 2 o 3.<br /><br />
+
+		Se l'indice è uguale a 0 restituisce il valore [page:.x x]. <br />
+		Se l'indice è uguale a 1 restituisce il valore [page:.y y]. <br />
+		Se l'indice è uguale a 2 restituisce il valore [page:.z z]. <br />
+		Se l'indice è uguale a 3 restituisce il valore [page:.w w]. <br />
+		</p>
+
+		<h3>[method:Float length]()</h3>
+		<p>
+			Calcola la [link:https://en.wikipedia.org/wiki/Euclidean_distance lunghezza Euclidea]
+			(lunghezza in linea retta) da `(0, 0, 0, 0)` a `(x, y, z, w)`.
+		</p>
+
+		<h3>[method:Float manhattanLength]()</h3>
+		<p>
+			Calcola la [link:http://en.wikipedia.org/wiki/Taxicab_geometry lunghezza Manhattan] di questo vettore.
+		</p>
+
+		<h3>[method:Float lengthSq]()</h3>
+		<p>
+			Calcola il quadrato della [link:https://en.wikipedia.org/wiki/Euclidean_distance lunghezza Euclidea]
+			(lunghezza in linea retta) da `(0, 0, 0, 0)` a `(x, y, z, w)`. Se stai comparando le lunghezze dei vettori, dovresti invece
+			confrontare la lunghezza quadrata poiché è leggermente più efficiente da calcolare.
+		</p>
+
+		<h3>[method:this lerp]( [param:Vector4 v], [param:Float alpha] )</h3>
+		<p>
+		[page:Vector4 v] - [page:Vector4] verso in cui interpolare.<br />
+		[page:Float alpha] - fattore di interpolazione, tipicamente nell'intervallo chiuso `[0, 1]`.<br /><br />
+
+		Interpola linearmente tra questo vettore e [page:Vector4 v], dove alfa è la distanza percentuale
+		lungo la linea - `alpha = 0` sarà questo vettore e `alpha = 1` sarà [page:Vector4 v].
+		</p>
+
+		<h3>[method:this lerpVectors]( [param:Vector4 v1], [param:Vector4 v2], [param:Float alpha] )</h3>
+		<p>
+		[page:Vector4 v1] - il [page:Vector4] iniziale.<br />
+		[page:Vector4 v2] - [page:Vector4] verso cui interpolare.<br />
+		[page:Float alpha] - fattore di interpolazione, tipicamente nell'intervallo chiuso `[0, 1]`.<br /><br />
+
+		Imposta questo vettore per essere il vettore lineare interpolato tra [page:Vector4 v1] e
+		[page:Vector4 v2] dove alfa è la distanza percentuale lungo la linea che collega i due vettori
+		- alfa = 0 sarà [page:Vector4 v1] e alfa = 1 sarà [page:Vector4 v2].
+		</p>
+
+		<h3>[method:this negate]()</h3>
+		<p>Inverte questo vettore - cioè imposta x = -x, y = -y, z = -z e w = -w.</p>
+
+		<h3>[method:this normalize]()</h3>
+		<p>
+			Converte questo vettore in un [link:https://en.wikipedia.org/wiki/Unit_vector vettore unitario] - cioè, lo imposta uguale ad un vettore 
+			con la stessa direzione di questo, ma con [page:.length lunghezza] 1.
+		</p>
+
+		<h3>[method:this max]( [param:Vector4 v] )</h3>
+		<p>
+			Se il valore x, y, z o w di questo vettore è minore del valore x, y, z o w di [page:Vector4 v], sostituisce
+			questo valore con il valore massimo corrispondente.
+		</p>
+
+		<h3>[method:this min]( [param:Vector4 v] )</h3>
+		<p>
+			Se il valore x, y, z o w di questo vettore è maggiore del valore x, y, z o w di [page:Vector4 v], sostituisce
+			questo valore con il valore minimo corrispondente.
+		</p>
+
+		<h3>[method:this multiply]( [param:Vector4 v] )</h3>
+		<p>Moltiplica questo vettore per [page:Vector4 v].</p>
+
+		<h3>[method:this multiplyScalar]( [param:Float s] )</h3>
+		<p>Moltiplica questo vettore per lo scalare [page:Float s].</p>
+
+		<h3>[method:this round]()</h3>
+		<p>I componenti di questo vettore sono arrotondati al valore intero più vicino.</p>
+
+		<h3>[method:this roundToZero]()</h3>
+		<p>
+			I componenti di questo vettore sono arrotondati verso zero (per eccesso se negativo, per difetto se positivo) a un valore intero.
+		</p>
+
+		<h3>[method:this set]( [param:Float x], [param:Float y], [param:Float z], [param:Float w] )</h3>
+		<p>Imposta i componenti [page:.x x], [page:.y y], [page:.z z] e [page:.w w] di questo vettore.</p>
+
+		<h3>[method:this setAxisAngleFromQuaternion]( [param:Quaternion q] )</h3>
+		<p>
+			[page:Quaternion q] - un [page:Quaternione] normalizzato.<br /><br />
+
+			Imposta i componenti [page:.x x], [page:.y y] e [page:.z z] di questo vettore sull'asse
+			del quaternione e [page:.w w] all'angolo.
+		</p>
+
+		<h3>[method:this setAxisAngleFromRotationMatrix]( [param:Matrix4 m] )</h3>
+		<p>
+			[page:Matrix4 m] - una [page:Matrix4] di cui la matrice 3x3 in alto a sinistra è una matrice di rotazione pura.<br /><br />
+
+			Imposta [page:.x x], [page:.y y] e [page:.z z] all'asse di rotazione e [page:.w w] all'angolo.
+		</p>
+
+		<h3>[method:this setComponent]( [param:Integer index], [param:Float value] )</h3>
+		<p>
+		[page:Integer index] - 0, 1 o 2.<br />
+		[page:Float value] - [page:Float]<br /><br />
+
+		Se l'indice è uguale a 0 imposta [page:.x x] a [page:Float value]. <br />
+		Se l'indice è uguale a 1 imposta [page:.y y] a [page:Float value]. <br />
+		Se l'indice è uguale a 2 imposta [page:.z z] a [page:Float value]. <br />
+		Se l'indice è uguale a 3 imposta [page:.w w] a [page:Float value]. <br />
+		</p>
+
+
+		<h3>[method:this setLength]( [param:Float l] )</h3>
+		<p>
+			Imposta questo vettore ad un vettore con la stessa direzione di questo, ma con la [page:.length lunghezza]
+			[page:Float l].
+		</p>
+
+		<h3>[method:this setScalar]( [param:Float scalar] )</h3>
+		<p>
+			Imposta i valori [page:.x x], [page:.y y], [page:.z z] e [page:.w w] di questo vettore tutti ugualmente allo [page:Float scalare].
+		</p>
+
+		<h3>[method:this setX]( [param:Float x] )</h3>
+		<p>Sostuisce il valore [page:.x x] di questo vettore con [page:Float x].</p>
+
+		<h3>[method:this setY]( [param:Float y] )</h3>
+		<p>Sostuisce il valore [page:.y y] di questo vettore con [page:Float y].</p>
+
+		<h3>[method:this setZ]( [param:Float z] )</h3>
+		<p>Sostuisce il valore [page:.z z] di questo vettore con [page:Float z].</p>
+
+		<h3>[method:this setW]( [param:Float w] )</h3>
+		<p>Sostuisce il valore [page:.w w] di questo vettore con [page:Float w].</p>
+
+		<h3>[method:this sub]( [param:Vector4 v] )</h3>
+		<p>Sottrae [page:Vector4 v] da questo vettore.</p>
+
+		<h3>[method:this subScalar]( [param:Float s] )</h3>
+		<p>Sottrae [page:Float s] dai componenti [page:.x x], [page:.y y], [page:.z z] e [page:.w w] di questo vettore.</p>
+
+		<h3>[method:this subVectors]( [param:Vector4 a], [param:Vector4 b] )</h3>
+		<p>Imposta questo vettore a [page:Vector4 a] - [page:Vector4 b].</p>
+
+		<h3>[method:Array toArray]( [param:Array array], [param:Integer offset] )</h3>
+		<p>
+			[page:Array array] - (opzionale) array per memorizzare questo vettore. Se non viene fornito, verrà creato un nuovo array.<br />
+			[page:Integer offset] - (opzionale) offset opzionale nell'array.<br /><br />
+
+			Restituisce un array [x, y, z, w], o copia x, y, z e w nell'[page:Array array] fornito.
+		</p>
+
+		<h3>[method:this random]()</h3>
+		<p>
+			Imposta ogni componente di questo vettore ad un valore pseudo random tra 0 e 1, escludendo 1.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 82 - 0
docs/api/it/math/interpolants/CubicInterpolant.html

@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Interpolant] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+const interpolant = new THREE.[name](
+		new Float32Array( 2 ),
+		new Float32Array( 2 ),
+		1,
+		new Float32Array( 1 )
+);
+
+interpolant.evaluate( 0.5 );
+		</code>
+
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )</h3>
+		<p>
+		parameterPositions -- array di posizioni<br />
+		sampleValues -- array di campioni<br />
+		sampleSize -- numero di campioni<br />
+		resultBuffer -- buffer per memorizzare i risultati dell'interpolazione.<br /><br />
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:null parameterPositions]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null resultBuffer]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null sampleValues]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Object settings]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null valueSize]</h3>
+		<p>
+
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Array evaluate]( [param:Number t] )</h3>
+		<p>
+			Valuta l'interpolante alla posizione *t*.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 82 - 0
docs/api/it/math/interpolants/DiscreteInterpolant.html

@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Interpolant] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+const interpolant = new THREE.[name](
+		new Float32Array( 2 ),
+		new Float32Array( 2 ),
+		1,
+		new Float32Array( 1 )
+);
+
+interpolant.evaluate( 0.5 );
+		</code>
+
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )</h3>
+		<p>
+		parameterPositions -- array di posizioni<br />
+		sampleValues -- array di campioni<br />
+		sampleSize -- numero di campioni<br />
+		resultBuffer -- buffer per memorizzare il risultato dell'interpolazione.<br /><br />
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:null parameterPositions]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null resultBuffer]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null sampleValues]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Object settings]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null valueSize]</h3>
+		<p>
+
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Array evaluate]( [param:Number t] )</h3>
+		<p>
+			Valuta l'interpolante alla posizione *t*.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 82 - 0
docs/api/it/math/interpolants/LinearInterpolant.html

@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Interpolant] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+const interpolant = new THREE.[name](
+		new Float32Array( 2 ),
+		new Float32Array( 2 ),
+		1,
+		new Float32Array( 1 )
+);
+
+interpolant.evaluate( 0.5 );
+		</code>
+
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )</h3>
+		<p>
+		parameterPositions -- array di posizioni<br />
+		sampleValues -- array di campioni<br />
+		sampleSize -- numero di campioni<br />
+		resultBuffer -- buffer per memorizzare il risultato dell'interpolazione.<br /><br />
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:null parameterPositions]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null resultBuffer]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null sampleValues]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Object settings]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null valueSize]</h3>
+		<p>
+
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Array evaluate]( [param:Number t] )</h3>
+		<p>
+			Valuta l'interpolante alla posizione *t*.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 82 - 0
docs/api/it/math/interpolants/QuaternionLinearInterpolant.html

@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html lang="it">
+	<head>
+		<meta charset="utf-8" />
+		<base href="../../../../" />
+		<script src="page.js"></script>
+		<link type="text/css" rel="stylesheet" href="page.css" />
+	</head>
+	<body>
+		[page:Interpolant] &rarr;
+
+		<h1>[name]</h1>
+
+		<p class="desc">
+
+		</p>
+
+		<h2>Codice di Esempio</h2>
+
+		<code>
+const interpolant = new THREE.[name](
+		new Float32Array( 2 ),
+		new Float32Array( 2 ),
+		1,
+		new Float32Array( 1 )
+);
+
+interpolant.evaluate( 0.5 );
+		</code>
+
+
+		<h2>Costruttore</h2>
+
+		<h3>[name]( parameterPositions, sampleValues, sampleSize, resultBuffer )</h3>
+		<p>
+		parameterPositions -- array di posizioni<br />
+		sampleValues -- array di campioni<br />
+		sampleSize -- numero di campioni<br />
+		resultBuffer -- buffer per memorizzare il risultato dell'interpolazione.<br /><br />
+		</p>
+
+		<h2>Proprietà</h2>
+
+		<h3>[property:null parameterPositions]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null resultBuffer]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null sampleValues]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:Object settings]</h3>
+		<p>
+
+		</p>
+
+		<h3>[property:null valueSize]</h3>
+		<p>
+
+		</p>
+
+		<h2>Metodi</h2>
+
+		<h3>[method:Array evaluate]( [param:Number t] )</h3>
+		<p>
+			Valuta l'interpolante alla posizione *t*.
+		</p>
+
+		<h2>Source</h2>
+
+		<p>
+			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
+		</p>
+	</body>
+</html>

+ 31 - 0
docs/list.json

@@ -1348,6 +1348,37 @@
 				"ShaderMaterial": "api/it/materials/ShaderMaterial",
 				"ShadowMaterial": "api/it/materials/ShadowMaterial",
 				"SpriteMaterial": "api/it/materials/SpriteMaterial"
+			},
+
+			"Math": {
+				"Box2": "api/it/math/Box2",
+				"Box3": "api/it/math/Box3",
+				"Color": "api/it/math/Color",
+				"Cylindrical": "api/it/math/Cylindrical",
+				"Euler": "api/it/math/Euler",
+				"Frustum": "api/it/math/Frustum",
+				"Interpolant": "api/it/math/Interpolant",
+				"Line3": "api/it/math/Line3",
+				"MathUtils": "api/it/math/MathUtils",
+				"Matrix3": "api/it/math/Matrix3",
+				"Matrix4": "api/it/math/Matrix4",
+				"Plane": "api/it/math/Plane",
+				"Quaternion": "api/it/math/Quaternion",
+				"Ray": "api/it/math/Ray",
+				"Sphere": "api/it/math/Sphere",
+				"Spherical": "api/it/math/Spherical",
+				"SphericalHarmonics3": "api/it/math/SphericalHarmonics3",
+				"Triangle": "api/it/math/Triangle",
+				"Vector2": "api/it/math/Vector2",
+				"Vector3": "api/it/math/Vector3",
+				"Vector4": "api/it/math/Vector4"
+			},
+
+			"Math / Interpolants": {
+				"CubicInterpolant": "api/it/math/interpolants/CubicInterpolant",
+				"DiscreteInterpolant": "api/it/math/interpolants/DiscreteInterpolant",
+				"LinearInterpolant": "api/it/math/interpolants/LinearInterpolant",
+				"QuaternionLinearInterpolant": "api/it/math/interpolants/QuaternionLinearInterpolant"
 			}
 		}
 	},