Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 19.09.13
Nostradamus Nostradamus ist offline
Mitglied
 
Registriert seit: Sep 2013
Ort: Freiburg
Beiträge: 42
Nostradamus befindet sich auf einem aufstrebenden Ast
Standard Schnittpunkt zweier Linien ...

Habe Heute, fast zuviel ... Zeit damit verbracht das vermeintlich simple Problem der Schnittpunktermittlung zu lösen. Hier für alle dies es interessieren könnte:

Für Anmerkungen, Fehler ... bin ich dankbar!

Code:
double Schnittpunkt(string xy, double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
{
   // ermittelt den Schnittpunkt und Zeit der beiden Strahlen
   // xy = gesuchter Rückgabe-Wert  "x"=Zeit (in Candle´s) 
   //                               "y"=Preis des Schnittpunktes
   // x1,y1,x2,y2 = Linie 1, x3.... Linie 2

   double x,y; 

   double a1, a2, b1, b2, c1, c2, d; 

  a1= y2-y1;
  b1= x1-x2;
  c1= x2*y1 - x1*y2;  

  a2= y4-y3;
  b2= x3-x4;
  c2= x4*y3 - x3*y4;  

  d= a1*b2 - a2*b1;
  if(d == 0) return (0);  

  x=(b1*c2 - b2*c1)/d;
  y=(a2*c1 - a1*c2)/d;       

   if(x<=0) return(0);
  
  if(xy=="y") return(y);
  if(xy=="x") return(x);

}