Thema: Delphi Schnittpunkt berechnen

Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Schnittpunkt berechnen

  Alt 13. Jun 2013, 09:21
Gleiche Geschichte wie gestern
  1. Suchmaschinen-Suche nach "schnittpunkt ebene gerade online rechner"
  2. Vertrauenswürdigen Treffer wählen (Beispiel)
  3. Sich vom Quelltext inspirieren lassen:

Code:
function calc_lagebeziehung() {
   var a = new Array(Number(document.getElementById("a1").value),Number(document.getElementById("a2").value),Number(document.getElementById("a3").value));
   var u = new Array(Number(document.getElementById("u1").value),Number(document.getElementById("u2").value),Number(document.getElementById("u3").value));
   var v = new Array(Number(document.getElementById("v1").value),Number(document.getElementById("v2").value),Number(document.getElementById("v3").value));

   var b = new Array(Number(document.getElementById("b1").value),Number(document.getElementById("b2").value),Number(document.getElementById("b3").value));
   var w = new Array(Number(document.getElementById("w1").value),Number(document.getElementById("w2").value),Number(document.getElementById("w3").value));
   var w2 = new Array(w[0]*(-1),w[1]*(-1),w[2]*(-1));

   var ab = new Array(b[0]-a[0],b[1]-a[1],b[2]-a[2]);

   var sRes = "(1) Die Determinante der Vektoren u,v,-w ist ";

   var det = calc3erDet(u,v,w2);
   var det_t = calc3erDet(u,v,ab);
   
   if (det!=0) {
      sRes += "ungleich Null, d.h. die Geraden schneiden sich.\n\n";
      sRes += "(2) Nach dem Cramerverfahren wird nun der Schnittpunkt berechnet. Da es ausreicht t der Geraden zu bestimmen, wird nur t=D_3:D berechnet.\n\n";

      sRes += "D_3 = det(u,v,AB) = "+ det_t +"\nD = det(u,v,-w) = "+ det +"\nt = "+eval(det_t/det)+"\n\n";
      var x = calc_schnittpunkt(u,v,a,b,w);
      sRes += "Der Schnittpunkt hat dann die Koordinaten ("+x[0]+"|"+x[1]+"|"+x[2]+").";
   } else {
      sRes += "ist Null, d.h. der Richtungsvektor w der Geraden ist parallel zur Ebene.\n\n";
      sRes += "(2) Zu untersuchen ist nun die Determinante det(u,v,AB). Ist diese 0, so liegt g in E.\n\n";
      
      var det = calc3erDet(u,v,ab);
      if (det==0) {
         sRes += "Die Determinante ist gleich Null. Damit liegt die Geraden in E.\n\n";
      } else {
         sRes += "Die Determinante ist ungleich Null. Damit verläuft die Geraden parallel zu E.\n\n";
      }
   }

   document.getElementById("lageBezGeradenLsg").value = sRes;
   
}
  Mit Zitat antworten Zitat