Multiplikator herausfinden |
| 31.08.2024, 17:04 | Phil_ | Auf diesen Beitrag antworten » |
| Multiplikator herausfinden Moin, ich möchte den Multiplikator einer variablen Breite in Pixel aus dem folgenden Werten berechnen: 1,1 * x = 1259px 2,1 * x = 1120px 3,1 * x = 1071px 4,1 * x = 1044px Verzeiht mir, wenn die Pixel-Ergebnisse leicht um genau sind (+/- 1 oder 2 Pixel). Zumindest der 4.1 würde ich nicht mehr trauen. Je höher die erste Zahl in der Gleichung, desto gestaucherter wurde die Breite, bei gleichbleibender Pixelgröße. Meine Ideen: Ich habe leider keinen Ansatz, wie man das berechnet. Schulmathe ist eine halbe Ewigkeit her. Ich wusste nicht mal, wonach ich googlen sollte. |
||
| 01.09.2024, 09:11 | IfindU | Auf diesen Beitrag antworten » |
Ich verstehe leider nicht wirklich was du genau machen willst. Was heißen bei dir 1,1 und 2,1 usw.? Es sind vermutlich nicht die Zahlen usw gemeint oder? Wenn du eine Funktion suchst mit und dann wäre die Frage was du genau von ihr erwartest? Für mich sieht es so aus als man jedes Mal noch einmal die halbe Distanz geht. Es schrumpft erst um ~130 Pixel, dann um 50, dann um 30. Sagen wir, wir starten mit 128 Pixel, dann w . Man kann es mit der geometrischen Reihe auch als geschlossene Formel angeben. Die Frage wäre, ob es das ist was du erreichen möchtest. |
||
| 01.09.2024, 09:55 | Phil_ | Auf diesen Beitrag antworten » |
Ich habe mich etwas unverständlich ausgedrückt. Die Werte 1.1, 2.1, usw., sind nur Beispiele. Es kann auch 1.9 sein oder 3.47. Diese Werte beschreiben die Mausempfindlichkeit, die ich visuell darstellen möchte. Ich habe diese Werte jeweils um 1 erhöht, da ich einen linearen Abstand zwischen den Breiten erwartet habe. Dem ist leider nicht so und jetzt komme ich an dieser Stelle nicht weiter. Ich möchte eine belibige Zahl (vom Datentyp float) an die erste Stelle der Gleichung einsetzen und dann die passende Breite in Pixel als Ergebnis bekommen. |
||
| 01.09.2024, 10:02 | IfindU | Auf diesen Beitrag antworten » |
Ich würde mal vorschlagen, du startest mit der Formel oder mit einem Parameter . Schau mal ob so eine Formel ungefähr das macht das du dir vorstellst. |
||
| 01.09.2024, 10:21 | Phil_ | Auf diesen Beitrag antworten » |
Ok, die Formel mal für ganz Dumme: ich nehme die Breite von 1.1 + den Abstand zu der Breite von 2.1 - 2 * den selben Abstand * (1 - 2 hoch -akutelle Mausempfindlichkeit). Habe das so richtig verstanden? |
||
| 01.09.2024, 10:25 | IfindU | Auf diesen Beitrag antworten » |
So ungefähr würde ich es versuchen. Ich vermute wenn die mit den Paramtern etwas spielst, kommst du zu etwas was bei dir passt. Mit kannst du auch etwas spielen. Ich vermute einfach dir es wichtiger dass es "gut" aussieht, als es genau die Pixelanzahl ist die gemessen hast. |
||
| Anzeige | ||
|
|
||
| 01.09.2024, 11:33 | Phil_ | Auf diesen Beitrag antworten » |
Ok, ich habe das jetzt ausprobiert. q = 0.9 Mausempfindlichkeit - Soll-Wert - Ist-Wert - Differenz 1.1 - 1259 - 1259 - 0 2.1 - 1120 - 1194 - 74 3.1 - 1070 - 1158 - 88 4.1 - 1044 - 1139 - 95 Setze ich q = 1.1 und verzeichte auf die Genauigkeit des Ausgangswerts, kommt Folgendes raus: Mausempfindlichkeit - Soll-Wert - Ist-Wert - Differenz 1.1 - 1259 - 1239 - -20 2.1 - 1120 - 1174 - 54 3.1 - 1070 - 1144 - 74 4.1 - 1044 - 1130 - 86 Ich habe die Soll-Werte nochmal alle nachgemessen. Sie sind richtig. Es geht schon in die richtige Richtung, aber es passt noch nicht so ganz. |
||
| 01.09.2024, 12:03 | IfindU | Auf diesen Beitrag antworten » |
Wenn du die Werte wirklich direkt haben möchtest, würde ich etwas anderes vorschlagen. Wir nehmen die Werte und interpolieren linear zwischen denen. Definiere . Dann ist und . Für definiere , für dann entsprechend . Damit hast du eine stetigen (aber keinen glatten) Übergang zwischen denen Zonen. Ich sehe leider keine Regelmäßigkeit in deinen Werten um daraus eine Formel zu gewinnen. Edit: Mit dem wäre eine bessere Formel Damit ist immer genau und du kannst mit rumspielen ohne dir Sorgen darüber zu machen. |
||
| 01.09.2024, 20:59 | Phil_ | Auf diesen Beitrag antworten » |
Ich habe es mir jetzt leicht gemacht und kurz ein Script in Python geschrieben, das stumpf alle Werte hochzählt und das nahste Ergebniss an den vier Referenzwerten (1.1, 2.1, etc) behält. q habe ich von 0 - 10 in 0.1 Schritten genommen und p1 und p2 von 0 - 800 in Einer Schritten. Das waren 64.000.000 Berechnungen und 5 1/2 Minuten. Resultat: multi: 1.4 (q) const1: 433 (p1) const2: 660 (p2) 1.1: 1259 / 1259 2.1: 1118 / 1118 3.1: 1065 / 1070 4.1: 1044 / 1044 Damit kann ich sehr gut leben.
Ich habe es zwar noch nicht ausprobiert, das mache ich morgen. Aber ich schätze, es wird wohl stimmen. Ansonsten versuche ich es mit den anderen beiden Formeln.Dir schon mal ein riesen Danke schön! |
||
| 03.09.2024, 14:07 | HAL 9000 | Auf diesen Beitrag antworten » |
Wenn man mit nur 4 gegebenen Datenpunkten stolze 3 Parameter fittet, dann riecht das für einen Statistiker ziemlich nach Überanpassung. Wünschenswert wäre schon ein größerer Datensatz. |
||
| 03.09.2024, 14:13 | Phil_ | Auf diesen Beitrag antworten » |
Danke für den Tipp. Werde ich beim nächsten Mal berücksichtigen. |
||
|
|

Ich habe es zwar noch nicht ausprobiert, das mache ich morgen. Aber ich schätze, es wird wohl stimmen. Ansonsten versuche ich es mit den anderen beiden Formeln.