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.
 

berndoa

Top Contributor
Naja, lassen wir das. Der Unterschied zwischen "ist AUF der Geraden" und "ist so halbwegs oder auch nciht auf der Geraden" ist was, was man ewig diskutieren könnte :)
 

uuu3uuu

Aktives Mitglied
Dann kannst du mir doch sicherlich erklären, weshalb hierbei

Java:
    public static boolean isPointOnSpecialStraightLineGivenInParametricForm(double x, double y) {
        return y == 1.1 * x - 3;
    }

    public static void main(String[] args) {
        System.out.println(isPointOnSpecialStraightLineGivenInParametricForm(1, -1.9));
        System.out.println(isPointOnSpecialStraightLineGivenInParametricForm(50, 52));
    }

die Ausgabe true false richtig sein sollte...
 

KonradN

Super-Moderator
Mitarbeiter
sollte sie nicht?
1.1*50-3=52 eigentlich.
daher müsste true true richtig sein.
Nur eben ist der 1.1 Wert nicht 1.1! Wandel die 1.1 des 10er Systems doch einmal ins Duale System um. somit hast Du da einen anderen Wert als 1.1 und der Mal 50 ist halt etwas, das die Ungnuigkeit schon zeigt.

Edit: Kannst Du natürlich auch selbst ausprobieren - mach einfach mal ein System.out.println(1.1*50); - das sollte die Problematik direkt zeigen.
 

mihe7

Top Contributor
Das Problem gibts natürlich auch im Dezimalsystem, z. B. bei der Geradengleichung y=3 x. Für y = 1 wird es schwierig, x als Dezimalzahl anzugeben. Da kann man noch so viele Dreien hinter das Komma setzen, man wird sich der 1 nur annähern. Die exakte Lösung lässt sich halt nur mit einem Bruch schreiben.
 

httpdigest

Top Contributor
Wie ich schon vorher sagte, kannst du die Fließkommaungenauigkeit mit Math.ulp() exakt abschätzen und kompensieren:
Java:
return Math.abs(y - (1.1 * x - 3)) <= Math.ulp(y);
Das sagt im Endeffekt: Die Differenz der beiden Werte, die "eigentlich" gleich sein sollten, y und (1.1*x - 3), darf höchstens so groß sein wie der Abstand von y und der nächsten darstellbaren Zahl um y.
 

berndoa

Top Contributor
Es ging also um die Ungenauigkeiten des Double Datentyps und nicht um die Mathematik.

Meine Aussage steht allerdings nahc wie vor, mathematisch den Abstand findet man mittels Lotfußpunkt und Ähnlichem.

Wie genau sich das errechnen und darstellen lässt als Gleitkommazahl sit dann nochmal ein ganz anderes Thema :)

Mir wars nur drum gegangen, dass man sich mathematisch nicht einen Geradenpunkt mit gleichem x Wert wie der freie Punkt suchen und einfach die y Werte (bzw. deren betrag) nehmen kann, da das technisch gesprochen nicht (zwingend) der wirklich kleinstmögliche Abstand ist.
Der sit nur da wenn die verbindungslinie senkrecht zur Gerade steht.

Aber programmiertechnisch stimmt es, klar, double ist ungenau wie leider alle Fließkommazahlen :-/
 
Ä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


Oben