57 lines
1.1 KiB
Java
57 lines
1.1 KiB
Java
|
|
/**
|
|
* Beschreiben Sie hier die Klasse Gerade.
|
|
*
|
|
* @author (Ihr Name)
|
|
* @version (eine Versionsnummer oder ein Datum)
|
|
*/
|
|
|
|
|
|
public class Gerade
|
|
{
|
|
// Attribute
|
|
double m;
|
|
double c;
|
|
|
|
// Methoden
|
|
|
|
/**
|
|
* Konstruktor, erstellt eine Gerade direkt aus der
|
|
* Steigung m und dem y-Achsenabschnitt c
|
|
*/
|
|
public Gerade(double _m, double _c) {
|
|
m = _m;
|
|
c = _c;
|
|
}
|
|
|
|
/**
|
|
* Konstruktor, erzeugt die Gerade aus zwei Punkten,
|
|
* berechnet Steigung und y-Achsenabschnitt
|
|
*/
|
|
public Gerade(Punkt a, Punkt b) {
|
|
m = (b.y - a.y) / (b.x - a.x);
|
|
c = (a.y) - (m * a.x);
|
|
}
|
|
|
|
/**
|
|
* Methode lässt die Gerade mit einer anderen schneiden
|
|
* und gibt den Schnittpunkt zurück
|
|
*/
|
|
public Punkt schneide(Gerade g) {
|
|
double x = (g.c - c)/(m - g.m);
|
|
double y = m * x + c;
|
|
|
|
return new Punkt(x, y);
|
|
}
|
|
|
|
/**
|
|
* Erzeugt einen String der Form y=m*x+c und
|
|
* gibt diesen zurück
|
|
*/
|
|
public String toString() {
|
|
return "y=" + m + "*x+" + c;
|
|
}
|
|
}
|
|
|
|
|