Date: prev next · Thread: first prev next last
2022 Archives by date, by thread · List index


Hallo Robert,

ich kenne zwar nicht den "Algorithmus dahinter", aber ich meine, da liegt ein "klassischer Programmierfehler" - Division durch 0 wird nicht abgefangen - vor.

Zur Veranschaulichung: Datei "Bug 150743.odg" => Download: https://magentacloud.de/s/5b6NREb8kFboGwP

[1] Eine beliebige Linie in einem X/Y-Koordinatensystem wird durch ihre 2 Endpunkte X1/Y1 und X2/Y2 bestimmt. [2] Mit Hilfe dieser 2 Eckpunkte kann man auch ein (virtuelles) Rechteck bestimmen/zeichnen. [3] Das (virtuelle) Rechteck benötigt man, um ein Seitenverhältnis berechnen zu können. [4] Die Werte von "Breite:" und "Höhe:" (unterhalb von "Position und Größe") beziehen sich auf das (virtuelle) Rechteck: [4.1] Bei einer vertikalen Linie hat das (virtuelle) Rechteck eine Breite von 0. [4.2] Bei einer horizontalen Linie hat das (virtuelle) Rechteck eine Höhe von 0. [4.3] In diesen beiden Fällen ([4.1]+[4.2]) kann man keine Seitenverhältnis-Berechnung mehr durchführen, weil man dann - bei dem aktuellen "Algorithmus dahinter" eine "Division durch 0" erhält, die in der Regel in Programmen immer undefinierte Zustände verursacht, wenn sie nicht "abgefangen" wird. Habe ich zu Beginn meiner früheren Berufstätigkeit als "blutiger Programmieranfänger" selbst oft erfahren dürfen verbunden mit stundenlanger Fehlersuche ;-))

So weit, so gut. Jetzt muss man 2 Eingabe-Situationen - "Mausaktion" oder "Zahleneingabe" - unterscheiden, mit der die Linie verändert wird:

[0] "Seitenverhältnis beibehalten" sei aktiviert.

[1] Die Linie mit der Maus "anfassen" und verändern.
[1.1] Damit kann man die Linie verändern wie man "lustig" ist. Bei "Breite:" und "Höhe:" (unterhalb von "Position und Größe") werden die korrekten Werte des (virtuellen) Rechtecks angezeigt [1.2] Die dann angezeigten Werte ("Breite:" und "Höhe:") werden (offensichtlich) aus den X/Y-Koordinaten der (virtuellen) X/Y-Zeichenfläche bestimmt und zur Anzeige gebracht und nicht aus den "Breite:"/"Höhe:"-Zahlenangaben berechnet [1.3] Bezüglich "Breite:" und "Höhe:" besteht eine Werte-AUSGABE-Situation.

[2] Die Linie durch Zahleneingaben ("Breite:" und "Höhe:" (unterhalb von "Position und Größe")) verändern. [2.1] So lange die Eingabe für "Breite:" oder "Höhe:" nicht 0 ist, funktioniert alles prima, denn dann hat man immer ein (virtuelles) Rechteck, mit Hilfe dessen man das Seitenverhältnis berechnen kann. Es gibt keine "Division durch 0", da keine Rechteckseite (Breite oder Höhe) 0 ist. [2.2] Bei einer vertikalen oder horizontalen Linie wird die Länge einer Seite des (virtuelles) Rechtecks 0 mit der Folge, dass bei der Seitenverhältnis-Berechnung eine "Division durch 0" statt findet und der weiteren Folge, dass der Algorithmus in einen undefinierten/fehlerhaften Zustand gerät. [2.3] Bezüglich "Breite:" und "Höhe:" besteht eine Werte-EINGABE-Situation.

Die Aussage von JBF "In the case where "Keep ratio" is checked, we just have a special case here that involves a division by zero." bezieht sich auf das, was ich mit [2.2] kommuniziert habe. Warum er das nicht als BUG bezeichnet, dass die "division by zero" nicht abgefangen wird, keine Ahnung ...

Da ich den "Algorithmus dahinter" nicht kenne, muss das von mir Kommunizierte nicht stimmen, aber zumindest erscheint es doch "recht schlüssig", widerspruchsfrei und nachvollziehbar.

Grüße
Hans-Werner;-))


------ Originalnachricht ------
Von "Robert Großkopf" <robert@familiegrosskopf.de>
An users@de.libreoffice.org
Datum 08.10.2022 21:08:43
Betreff Re: [de-users] Draw-Bug mit horizontalen Linien

Hallo Hans-Werner,

https://bugs.documentfoundation.org/show_bug.cgi?id=150743#c16

Ich halte mich da jetzt raus. Da sollen einmal Leute etwas zu sagen, die auch mit Draw häufiger 
arbeiten. Mit den vielen Kommentaren blickt irgendwann niemand mehr durch, was denn nun der Bug 
ist. Worauf sich der letzte Kommentar von JBF bezieht kann ich schon nicht mehr sagen.

Gruß

Robert
-- Homepage: https://www.familiegrosskopf.de/robert


-- Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.