Gunther: Mathe Berechnung

Hallo werte Selfgemeinde,

Mathe war und ist irgendwie nicht meine starke Seite. Deshalb hoffe ich auf eure Hilfe.

Folgende Berechnung würde ich gerne durchführen (lassen):

  • es gibt einen Max-Wert = 300.000.000 (Pixelanzahl)
  • es gibt eine Grafik mit bekannten Maßen (in Pixeln): Breite x Höhe
  • die Grafik wird ausgehend von 100% in 25% Schritten (proportional) gezoomt

Was ich nun gerne berechnen würde ist der maximale Zoomwert (in Prozent), bei dem der Max-Wert nicht überschritten wird.

Selbst mir als nicht Mathematik Genie ist halbwegs klar, dass irgendwie die Wurzel, bzw. das Quadrat eine Rolle spielt, da ja eine Verdoppelung (x2) der Größe zu einer Vervierfachung der Pixelanzahl führt.

Ich komme aber trotzdem nicht zu einer Computer-Programm tauglichen Formel. :-(
Wenn mir also jemand behilflich sein könnte, wäre ich sehr dankbar.

Gruß Gunther

  1. Hallo,

    so oft darf jede Seite um 25% vergrößert werden:
    k = (log(300000000) - log(Höhe * Breite)) / (2 * log(1,25))

    Maximaler Zoomwert in Prozent: 1,25^k * 100%

    Ohne Gewähr

    Gruss,
    OhneName

    1. @@OhneName:

      nuqneH

      so oft darf jede Seite um 25% vergrößert werden:

      Ich musste aber auch erstmal überlegen, ob die Folge der Zoomfaktoren arithmetisch [latex]1, \tfrac54, \tfrac64, \tfrac74, \ldots[/latex] oder geometrisch [latex]1, \tfrac54, \tfrac{25}{16}, \tfrac{125}{64}, \ldots[/latex] sein soll.

      Wie ich den OP („die Grafik wird ausgehend von 100% in 25% Schritten (proportional) gezoomt“) verstanden hatte, ersteres.

      Qapla'

      --
      Volumen einer Pizza mit Radius z und Dicke a: pi z z a
      1. Hallo,

        Ich musste aber auch erstmal überlegen, ob die Folge der Zoomfaktoren arithmetisch [latex]1, \tfrac54, \tfrac64, \tfrac74, \ldots[/latex] oder geometrisch [latex]1, \tfrac54, \tfrac{25}{16}, \tfrac{125}{64}, \ldots[/latex] sein soll.
        Wie ich den OP („die Grafik wird ausgehend von 100% in 25% Schritten (proportional) gezoomt“) verstanden hatte, ersteres.

        wie unterschiedlich doch die Auffassungen sind. Für mich war anhand der Formulierung ebenso selbstverständlich, dass es nur die erstere Variante sein müsste.

        Ciao,
         Martin

        --
        Die letzten Worte des Systemadministrators:
        Nur gut, dass ich ein intaktes Backup habe.
        1. Hi,

          Wie ich den OP („die Grafik wird ausgehend von 100% in 25% Schritten (proportional) gezoomt“) verstanden hatte, ersteres.
          wie unterschiedlich doch die Auffassungen sind. Für mich war anhand der Formulierung ebenso selbstverständlich, dass es nur die erstere Variante sein müsste.

          okay, der eine von euch geht von der ersten Möglichkeit aus, der andere hingegen von der ersten. Zum Glück ist alles nur halb so doppelt.

          Cheatah, SCNR

          --
          X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. Hallo,

            okay, der eine von euch geht von der ersten Möglichkeit aus, der andere hingegen von der ersten. Zum Glück ist alles nur halb so doppelt.

            ja, und Gunnar hat offensichtlich herausgefunden, wie man seine Postings nachträglich editieren kann. Ich könnte schwören, er hatte kurz vor meinem Beitrag noch "letzteres" in seinem Posting stehen!

            *scnr,2*
             Martin

            --
            F: Was ist schneller: Das Licht oder der Schall?
            A: Offensichtlich der Schall. Wenn man den Fernseher einschaltet, kommt immer erst der Ton, und dann erst das Bild.
            1. @@Der Martin:

              nuqneH

              ja, und Gunnar hat offensichtlich herausgefunden, wie man seine Postings nachträglich editieren kann. Ich könnte schwören, er hatte kurz vor meinem Beitrag noch "letzteres" in seinem Posting stehen!

              *G*

              Dass wir doch mal einer Meinung sind …

              Ich könnte schwören, ich dachte, _du_ meintest letzteres: die geometrische Abstufung.

              Die übrigens IMHO hier durchaus sinnvoller wäre: Der Unterschied zwischen 425% und 450% ist marginal.

              Qapla'

              --
              Volumen einer Pizza mit Radius z und Dicke a: pi z z a
              1. Hi,

                Die übrigens IMHO hier durchaus sinnvoller wäre: Der Unterschied zwischen 425% und 450% ist marginal.

                wenn es nicht um Unterschiede zwischen den Abstufungen geht, sondern z.B. um (vergleichsweise) unkritische Skalierungswerte, relativiert sich dies natürlich.

                Cheatah

                --
                X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
  2. Folgende Berechnung würde ich gerne durchführen (lassen):

    • es gibt einen Max-Wert = 300.000.000 (Pixelanzahl)
    • es gibt eine Grafik mit bekannten Maßen (in Pixeln): Breite x Höhe
    • die Grafik wird ausgehend von 100% in 25% Schritten (proportional) gezoomt

    Was ich nun gerne berechnen würde ist der maximale Zoomwert (in Prozent), bei dem der Max-Wert nicht überschritten wird.

    Hoffe ich habe das Richtig verstanden.

    Du hast einen Max-Wert an Pixeln und die Höhe und Breite eines Bildes, welches du zoomen möchtest.
    Was fehlt wäre der vergrößerung Faktor X.

    Also

    Max-Wert = Breite * X * Höhe * X

    Max-Wert = B * H * X²

    Max-Wert
    -------- = X²
    B*H

    (Max-Wert)
    Wurzel(--------) = X
          (  B*H   )

    X wäre dann der vergrößerung Faktor, welcher dann einfach * 100 gerechnet werden muss, damit du deine max. % Größe kennst.

    Max-%-Größe = X * 100

  3. @@Gunther:

    nuqneH

    • es gibt einen Max-Wert = 300.000.000 (Pixelanzahl)

    Nennen wir ihn Amax.

    • es gibt eine Grafik mit bekannten Maßen (in Pixeln): Breite x Höhe

    Nennen wir sie b und h.

    Die Größe ist also b · h.

    • die Grafik wird ausgehend von 100% in 25% Schritten (proportional) gezoomt

    Nennen wir den Zoomaktor k. Die gezoomte Grafik ist also k · b · k · h = k² · b · h.

    Was ich nun gerne berechnen würde ist der maximale Zoomwert (in Prozent), bei dem der Max-Wert nicht überschritten wird.

    k² · b · h ≤ Amax

    Selbst mir als nicht Mathematik Genie ist halbwegs klar, dass irgendwie die Wurzel, bzw. das Quadrat eine Rolle spielt, da ja eine Verdoppelung (x2) der Größe zu einer Vervierfachung der Pixelanzahl führt.

    Ja, das steckt in k².

    Ich komme aber trotzdem nicht zu einer Computer-Programm tauglichen Formel. :-(

    Umstellen nach k:

    [latex]k^2 \le \frac{A_{max}}{b \cdot h}[/latex]
    [latex]k \le \sqrt{\frac{A_{max}}{b \cdot h}}[/latex]

    Nun willst du nicht beliebige Werte für k zulassen, sondern (offenbar) nur 1, 1.25, 1.5, 1.75, … Also mit 4 multiplizieren, den ganzzahligen Anteil davon nehmen und wieder durch 4 teilen:

    [latex]k = \frac{1}{4} \cdot \operatorname{floor} \left( 4 \cdot \sqrt{\frac{A_{max}}{b \cdot h}} \right)[/latex]

    Qapla'

    --
    Volumen einer Pizza mit Radius z und Dicke a: pi z z a
    1. @@Gunnar:

      Nun willst du nicht beliebige Werte für k zulassen, sondern (offenbar) nur 1, 1.25, 1.5, 1.75, … Also mit 4 multiplizieren, den ganzzahligen Anteil davon nehmen und wieder durch 4 teilen:

      [latex]k = \frac{1}{4} \cdot \operatorname{floor} \left( 4 \cdot \sqrt{\frac{A_{max}}{b \cdot h}} \right)[/latex]

      Super!
      Und dank deiner hervorragenden Erklärung, kann sogar ich die Herleitung nachvollziehen.
      Liefert auch das gewünschte Ergebnis - perfekt!

      Hier meine Umsetzung in Visual Basic:

        
      Dim zoomMax As Double  
      zoomMax = (Math.Floor((Math.Sqrt(MaxPixCount / (Image.Width * Image.Height))) * 4) * 0.25) * 100
      

      Was sind "25% Schritte"? "Sc", "hr", "it" und "te"?

      Ja, wenn man es hinterher nochmal liest ist die Formulierung unglücklich und irreführend. Gemeint war und ist, dass sich der Zoomfaktor, ausgehend von 1 in 0.25 Schritten erhöht (dazu gibt es einen Schieberegler, der bei Klick diese Schrittweite hat.
      Die Berechnung dient eben dazu, wenn eine Grafik geladen wurde, den oberen (Zoom-)Grenzwert festzulegen, da es bei Überschreitung der 300 Mio. Pixel zu einem Fehler kommt.

      @all:
      Allen Postern meinen besten Dank für eure Hilfe & Unterstützung.

      Gruß Gunther

  4. @@Gunther:

    nuqneH

    • die Grafik wird ausgehend von 100% in 25% Schritten (proportional) gezoomt

    Was sind "25% Schritte"? "Sc", "hr", "it" und "te"?

    Was ist ein Deppenleerzeichen?

    Und wie meinst du die Schritte?

    Qapla'

    --
    Volumen einer Pizza mit Radius z und Dicke a: pi z z a