Einzelnen Beitrag anzeigen

Der schöne Günther

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

AW: Lot/ Schnitpunkt gesucht

  Alt 10. Jun 2013, 13:05
Falls du einfach direkt eine Formel möchtest:

Ich finde bei der Suchmascheine meines Vertrauens zu "Abstand Punkt Ebene Parameterform" als allerersten Treffer diese vielversprechende Seite:

http://mayer-ffm.de/index.php?option...per&Itemid=192

Zugegeben, den Begriff "Parameterform" hat man vielleicht nicht mehr im Kopf. Aber hier braucht man nur noch Zahlen eintippen. Ein ganz gewiefter Fuchs könnte sogar auf den Quelltext der passend benannten Funktion "fun_01" schauen:

Code:
function fun_01()


  fehler = 0;
  if (document.vorlage.ax.value == '') fehler = 1;
  if (document.vorlage.ay.value == '') fehler = 1;
  if (document.vorlage.az.value == '') fehler = 1;
  if (document.vorlage.ux.value == '') fehler = 1;
  if (document.vorlage.uy.value == '') fehler = 1;
  if (document.vorlage.uz.value == '') fehler = 1;
  if (document.vorlage.vx.value == '') fehler = 1;
  if (document.vorlage.vy.value == '') fehler = 1;
  if (document.vorlage.vz.value == '') fehler = 1;
  if (document.vorlage.px.value == '') fehler = 1;
  if (document.vorlage.py.value == '') fehler = 1;
  if (document.vorlage.pz.value == '') fehler = 1;
  if (fehler == 1)
   { alert('Bitte sämtliche Vorgaben eintragen!'); }
  else
    { ax = parseFloat(document.vorlage.ax.value);
       ay = parseFloat(document.vorlage.ay.value);
       az = parseFloat(document.vorlage.az.value);
       px = parseFloat(document.vorlage.px.value);
       py = parseFloat(document.vorlage.py.value);
       pz = parseFloat(document.vorlage.pz.value);
       ux = parseFloat(document.vorlage.ux.value);
       uy = parseFloat(document.vorlage.uy.value);
       uz = parseFloat(document.vorlage.uz.value);
       vx = parseFloat(document.vorlage.vx.value);
       vy = parseFloat(document.vorlage.vy.value);
       vz = parseFloat(document.vorlage.vz.value);
       nx = uy*vz - uz*vy; ny = -(ux*vz - uz*vy); nz = ux*vy - uy*vx;
       hx = px - ax; hy = py - ay; hz = pz - az;
       sp = hx*nx + hy*ny + hz*nz;
       ln = Math.sqrt(nx*nx + ny*ny + nz*nz);
       abstand = Math.abs(sp/ln);
       document.getElementById("ergebnis").innerHTML = 'd(P, E) = ' + abstand + ' LE';
    }
 }
Für die Übersetzung in Pascal braucht man allerdings einen barmherzigen Samariter.
  Mit Zitat antworten Zitat