Discussione: Calcolare volume alare
Visualizza messaggio singolo
Vecchio 20 novembre 16, 14:27   #10 (permalink)  Top
devCad
Rivenditore - devCad
 
L'avatar di devCad
 
Data registr.: 04-12-2013
Messaggi: 1.269
Citazione:
Originalmente inviato da Manubrio Visualizza messaggio
non per un'ala.
Forme complesse, tipo calcolare con precisione il volume interno di un pangolino tronco.
Si può fare con santa pazienza e poca precisione, troppo poca per inserire il dato in un simulatore e crederci. Invece di perderci una settimana, sbagliando comunque, magari se un pc ci arrivasse...si tratta di sparare triangoli, dopotutto.

Col simulatore si stabilisce il funzionamento del sistema, che prevede un volume interno, di forma strana, due condotti di forma strana ed un terzo elemento.
Il sistema richiede successive messe a punto, quindi rifacimenti...

Devi sapere quali sono le variabili con cui hai a che fare.


public float SignedVolumeOfTriangle(Vector p1, Vector p2, Vector p3) {
var v321 = p3.X*p2.Y*p1.Z;
var v231 = p2.X*p3.Y*p1.Z;
var v312 = p3.X*p1.Y*p2.Z;
var v132 = p1.X*p3.Y*p2.Z;
var v213 = p2.X*p1.Y*p3.Z;
var v123 = p1.X*p2.Y*p3.Z;
return (1.0f/6.0f)*(-v321 + v231 + v312 - v132 - v213 + v123);
}


public float VolumeOfMesh(Mesh mesh) {
var vols = from t in mesh.Triangles
select SignedVolumeOfTriangle(t.P1, t.P2, t.P3);
return Math.Abs(vols.Sum());
}
devCad non è collegato   Rispondi citando