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.
182 lines
6.7 KiB
182 lines
6.7 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">
|
||
|
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>
|