
Point P1 = new(0, 0); Point P2 = new(1, 1); Point P3 = new(1, 0); Point P4 = new(2, 2);
Ergebnis: Schnittpunkt: (2, 2) [im Prinzip richtig, aber ...
erste Linie geht nur bis (1, 1) und nicht bis (2, 2).]

C# :: Aufgabe #390 :: Lösung #1
using System; // Geraden schneiden sich: Point P1 = new(-4.5, 5.8); Point P2 = new(3.1, -2); Point P3 = new(4.5, 6.2); Point P4 = new(-2.7, -7.8); // Parallele Geraden => kein Schnittpunkt: // Point P1 = new(-5, 5); // Point P2 = new(-5, -5); // Point P3 = new(5, 5); // Point P4 = new(5, -5); Line L12 = new(P1, P2); Line L34 = new(P3, P4); IntersectLine isl = new(L12, L34); Console.WriteLine(isl); record Point(double X, double Y); record Line(Point P1, Point P2); record IntersectLine (Line L1, Line L2) { // Geradengleichung 1: L12 = (yP2 - yP1) / (xP2 - xP1) * (x - xP1) + yP1; // Geradengleichung 2: L34 = (yP4 - yP3) / (xP4 - xP3) * (x - xP3) + yP3; // beide Geradengleichungen gleich setzen: private double S1 => Math.Round((-L1.P2.X * L2.P1.X * L1.P1.Y + L1.P2.X * L2.P2.X * L1.P1.Y + L1.P1.X * L2.P1.X * L1.P2.Y - L1.P1.X * L2.P2.X * L1.P2.Y + L1.P1.X * L2.P2.X * L2.P1.Y - L1.P2.X * L2.P2.X * L2.P1.Y - L1.P1.X * L2.P1.X * L2.P2.Y + L1.P2.X * L2.P1.X * L2.P2.Y) / (-L2.P1.X * L1.P1.Y + L2.P2.X * L1.P1.Y + L2.P1.X * L1.P2.Y - L2.P2.X * L1.P2.Y + L1.P1.X * L2.P1.Y - L1.P2.X * L2.P1.Y - L1.P1.X * L2.P2.Y + L1.P2.X * L2.P2.Y), 3); // S1 in die 2. Gleichung einsetzen private double S2 => Math.Round((L2.P2.Y - L2.P1.Y) / (L2.P2.X - L2.P1.X) * (S1 - L2.P1.X) + L2.P1.Y, 3); public override string ToString() => double.IsNaN(S1) || double.IsNaN(S2) ? "Kein Schnittpunkt" : $"Schnittpunkt: ({S1}, {S2})"; }
Kommentare:
hollst
Punkte: 13980
761 Aufgaben
132 Lösungen
117 Kommentare
Point P1 = new(0, 0); Point P2 = new(1, 1); Point P3 = new(1, 0); Point P4 = new(2, 2);
JKooP
Punkte: 18090
680 Aufgaben
227 Lösungen
19 Kommentare
Zitat:
Abhändigkeit von den Anfangs-/Endpunkten P1 ... P4
Ich bin von unendlichen Geraden ausgegangen.hollst
Punkte: 13980
761 Aufgaben
132 Lösungen
117 Kommentare
Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.