You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

211 lines
7.9 KiB

2 years ago
<!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>