Punkt auf Gerade

JavaBeginner22

Aktives Mitglied
Hallo miteinander, ich muss einen Programm erstellen, welches überprüft ob ein Punkt. dessen Koordinaten auf der Gerade mit der Gleichung y=5x-3 liegen.
ich habe bis jetzt nur die koordinaten festgelegt.
 

httpdigest

Top Contributor
Du hast eine einzige Gleichung y = 5x - 3
und du hast einen Punkt, also die Werte für x und y, z.B. den Punkt (x=1, y=2).
Setze also einfach das x und das y in die Gleichung ein und prüfe, ob beide Seiten dasselbe ergeben, also die Gleichung erfüllt ist:
Für den Punkt (x=1, y=2) also:
2 = 5*1 - 3

Du brauchst hier keine Deltas oder Distanzen oder ganze Gleichungssysteme.
 

uuu3uuu

Aktives Mitglied
Du hast eine einzige Gleichung y = 5x - 3
und du hast einen Punkt, also die Werte für x und y, z.B. den Punkt (x=1, y=2).
Setze also einfach das x und das y in die Gleichung ein und prüfe, ob beide Seiten dasselbe ergeben, also die Gleichung erfüllt ist:
Für den Punkt (x=2, y=2) also:
2 = 5*1 - 3

Du brauchst hier keine Deltas oder Distanzen oder ganze Gleichungssysteme.
Das ist natürlich sehr billig, aber wahrscheinlich am einfachsten ;)
 

JavaBeginner22

Aktives Mitglied
Du hast eine einzige Gleichung y = 5x - 3
und du hast einen Punkt, also die Werte für x und y, z.B. den Punkt (x=1, y=2).
Setze also einfach das x und das y in die Gleichung ein und prüfe, ob beide Seiten dasselbe ergeben, also die Gleichung erfüllt ist:
Für den Punkt (x=1, y=2) also:
2 = 5*1 - 3

Du brauchst hier keine Deltas oder Distanzen oder ganze Gleichungssysteme.
das kenne ich schon aus der mathematik, die frage ist wie sich das ganze in java darstellen lässt
 

uuu3uuu

Aktives Mitglied
Ansatz von @httpdigest :

Java:
    public static final boolean isPointExactOnSpecialStraightLineGivenInParametricForm(Point p1) {
        return p1.y == 5 * p1.x - 3;
    }

    public static void main(String[] args) {
        System.out.println(isPointExactOnSpecialStraightLineGivenInParametricForm(new Point(3, 12)));
    }
 

uuu3uuu

Aktives Mitglied
Natürlich geht das.

@Tasse345 : ... == ... ist ein Vergleich, auf der linken Seite steht ein Term und auf der rechten Seite steht ein Term, wenn die Werte beider Seiten gleich sind, dann ist der Vergleich true. Du kannst diesen Vergleich als Bedingung in deinem if else Konstrukt als Vergleichsbedingung verwenden. Innerhalb des If Rumpfes steht das, was passieren soll, wenn (x,y) auf der Geraden liegt (genau auf der Geraden), innerhalb des Else Rumpfes steht das, was passieren soll, wenn nicht (zum Beispiel eine Ausgabe).

@temi Im kartesischen Koordinatensystem hat ein Punkt immer einen Abstand zu einer Geraden, der nicht immer 0 sein muss, wenn er (nicht genau, aber fast) auf der Geraden liegt.
 

JavaBeginner22

Aktives Mitglied
public static void main(String[] args) {
int xKoordinate = util.Eingabe.readInt("Geben sie die x Koordinate ein");
int yKoordinate = util.Eingabe.readInt("Geben sie die x Koordinate ein");
int Gerade = 5*(xKoordinate)-3;
int Ergebniss = Gerade;

if (Ergebniss==yKoordinate){
System.out.println("Punkt liegt auf G");
}
else if (Ergebniss!=yKoordinate) {
System.out.println("Punkt liegt nicht auf G");
}


das ist meine Lösung damit sollte es gehen
 

mihe7

Top Contributor
Code bitte in Code-Tags posten (im Editor links oben auf </> klicken, den Code dann dort einfügen).

Das zweite if ist überflüssig: entweder gilt die Bedingung oder eben nicht. Für letzteres reicht ein einfaches else.

jetzt entsteht ein neues Problem. Wie kann ich die x und y Koordinaten als Variablen festlegen ohne Eingabe (wie in das Bespiel) , oder ohne zu initialisieren.
Wie meinen? Eine Variable, die nicht initialisiert wird, ist nutzlos.
 

uuu3uuu

Aktives Mitglied
Aber auch das wäre nicht unmöglich:

Java:
public static boolean isPointOnSpecialStraightLineGivenInParametricForm(Point p1, double yDelta) {
    return p1.y - yDelta <= 1.1 * p1.x - 3 && p1.y + yDelta >= 1.1 * p1.x - 3;
}

public static void main(String[] args) {
    System.out.println(isPointOnSpecialStraightLineGivenInParametricForm(new Point(51, 53), 0.5));
    System.out.println(isPointOnSpecialStraightLineGivenInParametricForm(new Point(51, 53), 0.0));
}
 

httpdigest

Top Contributor
yDelta nennt man üblicherweise "epsilon". Und die Gleichung braucht man auch nicht zweimal auszuwerten:
Java:
double left = p1.y, right = 1.1 * p1.x - 3;
return Math.abs(left - right) <= epsilon;
 

httpdigest

Top Contributor
Epsilon ist glaube ich etwas "kleines"... nicht delta...
Ja, epsilon soll "etwas kleines" aussagen, klein genug, um gerade "richtig"/sinnvoll zu sein, sozusagen als sinnvoller maximaler Grenzwert für einen anderen Wert, in diesem Fall effektiv eine Differenz bzw. ein Delta zweier Werte.
Wenn man es noch genauer sehen will, braucht man hier auch keinen fixen Wert für das Epsilon nehmen, sondern kann mit Hilfe eines ULPs (Math.ulp) den kleinsten sinnvollen Epsilon-Wert ausrechnen, falls man damit eben Fließkommaungenauigkeiten ausgleichen möchte (und auch _nur_ solche Ungenauigkeiten).
 

berndoa

Top Contributor
Auch noch eine ganz dumme Variante:

Java:
if(p1.y=5*p1.x-3){
    System.out.println("Punkt liegt auf Funktion!");
}
else{
    System.out.println("Punkt liegt nicht auf Funktion!");
}


was man hier sonst Fallunterscheiden will, wüsste ich dann auch nicht :)
 

berndoa

Top Contributor
yDelta nennt man üblicherweise "epsilon". Und die Gleichung braucht man auch nicht zweimal auszuwerten:
Java:
double left = p1.y, right = 1.1 * p1.x - 3;
return Math.abs(left - right) <= epsilon;
Ich will ja nichts gesagt haben aber mathematisch gesprochen bestimmt das den Abstand des Punktes von jenem punkt auf der geraden, der senkrecht darunter liegt (also gleicher x Wert hat).
Hingegen der übliche Abstand von der Gerade (der geringstmögliche) kriegt man mit Lotfußpunkt und Ähnlichem, also wenn der Abstandvektor senkrecht zur Gerade steht.

Praktisch ist es unwichtig was von Beidem man nutzt da es ja eh nur drum geht dass es halbwegs nahe an der Gerade ist.
Wollte ich aber nur erwähnt haben dass die korrekte Berehcnung des Abstands vond er Gerade doch etwas um ständlicher ist als dies völlig ausreichende Näherung :)
 

berndoa

Top Contributor
Versteh ich nicht (ist aber nicht schlimm). Für mich ist eine Gerade eine eindimensionale, unendliche Menge an Punkten (die dann naturgemäß genau auf der Gerade liegen).
Yo im Endeffekt gibt es 2 Varianten wie man das ganze löst:
1. Gucken: erfüllt der Punkt die Gleichung? Falls ja, liegt er drauf, falls nein, nicht.
2. Mathematisch vektoriell den Abstand berechnen zwischen Punkt und Gerade 8der halt 0 ist, wenn Punkt auf Gerade). Und da Spielraum zulassen für "so knapp über Null" und "recht nah dran" :)
 

berndoa

Top Contributor
Hab ich doch gezeigt :) Mit der Orthogonalen zu hantieren, macht aber mEn wenig Sinn... denn ich will ja mit epsilonY den absoluten Abstand bzw. Fehler angeben können...
ich habe ja auch nicht dir geantwortet sonden httpdigest.
Weil er nur geguckt hat wie groß bei gleichem x Wert der Abstand ist.

Und das ist eben nicht der kleinstmögliche Abstand.


Aber ist ja auch egal, das Ganze ist eh BS denn nur wenn er auf der Gerade liegt, naja, liegt er auf drr Gerad.e Da gibts eh keine "fast drauf".
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Anker Punkt setzen. Java Basics - Anfänger-Themen 1
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
K Gleitkommazahl macht man 0 punkt matisse oder 1 punkt matisse Java Basics - Anfänger-Themen 2
B String - Wörter finden, welches Punkt und entsprechender Pre / Suffix hat? Java Basics - Anfänger-Themen 30
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
A Java . punkt neben einer Zahl. Java Basics - Anfänger-Themen 1
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
H Punkt bewegt sich auf einer Ellipse Java Basics - Anfänger-Themen 6
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
P Datentypen Kann ich bei double Komma statt Punkt eingeben? Java Basics - Anfänger-Themen 14
U RegEx alle Kommas bei den Zahlen in Punkt umwandeln Java Basics - Anfänger-Themen 3
L Punkt innerhalb eines Bereiches verschieben Java Basics - Anfänger-Themen 9
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
E Erste Schritte Vorschläge für mich zum Thema Punkt vor Strich ? Java Basics - Anfänger-Themen 7
Z Double in komma und Punkt akzeptieren -> Robusteeingabe Java Basics - Anfänger-Themen 7
R Erste Schritte Taschenrechner - Punkt-vor-Strich Rechnung Java Basics - Anfänger-Themen 1
S Punkt in Java zeichnen Java Basics - Anfänger-Themen 14
C Methoden Diagonalen am best. Punkt im zweidimensionales array finden Java Basics - Anfänger-Themen 3
Y Was bedeutet "this" ohne dem Punkt und dem Atrributnamen danach? Java Basics - Anfänger-Themen 2
M Punkt auf eine Farbe prüfen Java Basics - Anfänger-Themen 8
H inputfeld dezimalzahl mit komme statt punkt Java Basics - Anfänger-Themen 12
R Double: auf einmal Komma statt Punkt Java Basics - Anfänger-Themen 4
H Methoden Array aus Punkten erzeugen, mittels Punkt-Klasse Java Basics - Anfänger-Themen 5
S 3d Punkt in Java3D Java Basics - Anfänger-Themen 4
J Taschenrechner Punkt vor Strich Java Basics - Anfänger-Themen 9
K Methoden contains()-Methode für Punkt in Polygon Java Basics - Anfänger-Themen 5
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
R ArrayList<String> Komma oder Punkt "replacen" Java Basics - Anfänger-Themen 5
C Punkt oder Kommanotation. Java Basics - Anfänger-Themen 7
B Kreis,Punkt,Zylinder Java Basics - Anfänger-Themen 6
A Eine Frage zu AWt in JAVA, wie wähle ich ein Punkt aus`? Java Basics - Anfänger-Themen 4
H sprung zu einem anderen punkt im script Java Basics - Anfänger-Themen 11
radiac Datentypen RANDOM-punkt setzen INNERHALB eines BEREICHes Java Basics - Anfänger-Themen 2
TheKing Objekt um Punkt kreisen lassen Java Basics - Anfänger-Themen 7
W Regex mit Punkt Java Basics - Anfänger-Themen 2
T Punkt zeichnen auf sinus Java Basics - Anfänger-Themen 7
T mehrere methoden durch punkt getrennt Java Basics - Anfänger-Themen 2
R Meine erste Klasse: Punkt Java Basics - Anfänger-Themen 3
G Punkt auf Bildschirm erstellen? Java Basics - Anfänger-Themen 14
G bei double nur Wert vor Punkt ausgeben Java Basics - Anfänger-Themen 6
T Wie Eingabe von Gleitkommazahl mit Komma statt Punkt Java Basics - Anfänger-Themen 4
B Bestimmten Punkt im KOS ermitteln Java Basics - Anfänger-Themen 14
W Punkt statt Komma? Java Basics - Anfänger-Themen 2
G Punkt bz. Kugel Java Basics - Anfänger-Themen 6
K AWT: Punkt (0,0) hinter Titelzeile oder 'getTitelzeilenhöhe' Java Basics - Anfänger-Themen 5
G contains - Punkt in Kreis enthalten? Java Basics - Anfänger-Themen 6
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13
B Methoden Rekursiv festellen, ob eine Zahl gerade-oft vorkommt oder nicht Java Basics - Anfänger-Themen 4
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
P Herausfinden, auf welchem Panel des CardLayouts man gerade ist? Java Basics - Anfänger-Themen 12
D Guten Tag mache gerade eine Umschulung zum FiSi war leider jetzt 2 Wochen Krank und wir hatten Prozendurale Programmierung. Java Basics - Anfänger-Themen 3
Henri ich verstehe gerade nicht die Methode Java Basics - Anfänger-Themen 6
D Ausgeben welcher Thread gerade Arbeitet Java Basics - Anfänger-Themen 8
W Erste Schritte Zweidimensionales Array - Gerade Zahlen anzeigen lassen Java Basics - Anfänger-Themen 3
H Gerade Zahlen aus Array entfernen Java Basics - Anfänger-Themen 8
M Gerade/ungerade---alter Forenbeitrag Java Basics - Anfänger-Themen 4
C DoublyLinkedList - Gerade zahlen ausgeben lassen Java Basics - Anfänger-Themen 2
Thallius String und \n. Habe wohl gerade Brett vorm Kopf Java Basics - Anfänger-Themen 13
K Rekursion gerade Zahlen addieren Java Basics - Anfänger-Themen 11
A Gerade Terme der Fibonacci-Folge aufsummieren Java Basics - Anfänger-Themen 12
P Gerade Zahl sortieren Java Basics - Anfänger-Themen 11
K Schnitt zweier Ebenen ergibt Gerade Java Basics - Anfänger-Themen 10
F Zugriff auf Pfad des gerade ausgeführten Programms? Java Basics - Anfänger-Themen 14
J Erste Schritte Array: Häufigkeiten bzw. gerade/ungerade Zahlen Java Basics - Anfänger-Themen 5
T Erste Schritte Berechnung von gerade und ungerade Zahlen Java Basics - Anfänger-Themen 10
M Gerade Zahlen aus einer Zahl summieren Java Basics - Anfänger-Themen 9
S Gerade bzw. Ungerade Zufallszahl generieren Java Basics - Anfänger-Themen 5
C Nachprüfung 2.: Gerade Zahlen ausgeben Java Basics - Anfänger-Themen 14
M Ausgabe einer gerade Zahl nur mit Addition,subtraktion und vergleichsoperatoren! Java Basics - Anfänger-Themen 4
F kleines Programm für ungerade oder gerade Zahl. Java Basics - Anfänger-Themen 18
Xtracter 3 gerade, 3 ungerade, 3 gerade, usw. Zahlen aufzählen Java Basics - Anfänger-Themen 20
S Senkrechte Gerade Java Basics - Anfänger-Themen 11
R Wird Programm gerade beendet? Java Basics - Anfänger-Themen 10
W Fange gerade an zu programmieren! Java Basics - Anfänger-Themen 6
K zufallszahlen int / double, gerade / ungerade problem . Java Basics - Anfänger-Themen 2
J Habe gerade erst mit Java begonnen - Frage zu JTabbedPane Java Basics - Anfänger-Themen 3
M gerade und ungerade Zahl ermitteln Java Basics - Anfänger-Themen 11
X Werte vergleichen ob gerade oder ungerade geht das? Java Basics - Anfänger-Themen 4
B Gerade ungerade Zahlen Java Basics - Anfänger-Themen 3
G gerade zahlen größer und kleiner null Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben