Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Rette e piani

Brevi accenni ai principali elementi della geometria dello spazio
Brevi accenni ai principali elementi della geometria dello spazio
Link copiato negli appunti

In questa lezione introduciamo a grandi linee alcuni concetti di base della geometria dello spazio. Nella maggior parte dei casi è possibile trovare una soluzione ai problemi legati al 3D di Papervision tramite le sue funzioni interne, tuttavia nel caso di progetti complessi può capitare di dover usare alcune nozioni di matematica.

Le rette possono essere scritte in forma esplicita come intersezioni di due piani o in forma implicita attraverso le equazioni parametrice

var x = vettore.x + l*t;     
var y = vettore.y + m*t; 
var z = vettore.z + n*t;

Il vettore (l,m,n) prende comunemente il nome di vettore direttore, mentre i singoli valori l, m, n si chiamano parametri direttori. Questi possono essere facilmente calcolabili infatti dati due vertici V1:vertex3D e V2:vertex3D avremo che

var l = V1.x - V2.x;
var m = V1.y - V2.y;
var n = V1.z - V2.z;

Poniamo di avere due cubi e di voler disegnare una serie di linee tratteggiate che passano al centro dei nostri solidi. Utilizzando le formule appena viste potremo scrivere

while (t<1)
{
	t += 0.1;
	cx = cubo1.x + t*(cubo2.x - cubo1.x);
	cy = cubo1.y + t*(cubo2.y - cubo1.y);
	cz = cubo1.z + t*(cubo2.z - cubo1.z);
	
	var SolidoLineX = addLine( new Vertex3D(oldCx,oldCy,oldCz),
	                           new Vertex3D(cx, cy,cz),
	                           new LineMaterial(0x00FF00,2));					
	
	scena.addChild(SolidoLineX);
	
	t += 0.1;
	
	oldCx = cubo1.x + t*(cubo2.x - cubo1.x);
	oldCy = cubo1.y + t*(cubo2.y - cubo1.y);
	oldCz = cubo1.z + t*(cubo2.z - cubo1.z);
}

function addLine( _v0:Vertex3D,_v1:Vertex3D, 
                  _lineMaterial:LineMaterial,
                  _nome:String = "linea"):Lines3D 
{
  var line:Lines3D = new Lines3D(_lineMaterial,_nome+"_"+_lineCont);
	_lineCont++;
	line.addNewLine(1,_v0.x,_v0.y,_v0.z,_v1.x,_v1.y,_v1.z);
	return line;
}

Al crescere di t i punti di inizio e fine dei segmenti avanzeranno dal cubo1 verso il cubo2.

I piani come le rette possono essere scritti in forma esplicita o implicita

// forma esplicita: Ax + By +Cz + D = 0;

// forma implicita:
x = x1  + A1*u + B1*t 
y = y2  + A2*u + B2*t 
z = z3  + A3*u + B3*t  

Due piani infine sono paralleli se A, B e C risultano proporzionali mentre si dicono perpendicolari se:

A*A1 + B*B1 + C*C1 = 0

Ti consigliamo anche