AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit der Prozentrechnung

Ein Thema von Alex_ITA01 · begonnen am 24. Aug 2005 · letzter Beitrag vom 24. Aug 2005
Antwort Antwort
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

Problem mit der Prozentrechnung

  Alt 24. Aug 2005, 08:20
Guten Morgen erstmal,
sorry aber ich habe grade ein kleines Problem mit der Prozentrechnung...
Ich stehe heute Morgen noch ein wenig neben mir.
Also ich habe ein Wert (den ich bekomme) und dieser Wert gibt eine bestimmte Höhe an.
Jetzt möchte ich anhand der Höhe meine Grafik setzen (Height).
Das heißt, ich habe eine maximale Höhe von 3600mm und eine minimale Höhe von 1400mm.
3600mm entspricht ungefähr einer "Height" der Grafik von 77.
1400mm entspricht ungefähr einer "Height" der Grafik von 152.
Diese Werte habe ich im Designer herausbekommen.
Ich habe es bisher so gemacht:

Grafik.Height := 77 + (77 - Round((Hoehe * 77) / MaxHoehe));

Wenn ich als Höhe 3000 bekomme rechnet er mir auch richtig eine Height von 90 aus.
Aber wenn ich z.B. 1400 eingebe, rechnet er mir keine Height von 152 aus sondern von 124.

Könnt ihr mir bitte helfen?
MFG Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Problem mit der Prozentrechnung

  Alt 24. Aug 2005, 08:41
Hallo Alex,

wenn du eine lineare Abbildung brauchst - die 77 und die 152 sind wohl vertauscht? - dann lautet die f(x) = ax + b, wobei x die Höhe in mm, f(x) die Höhe in pixel ist. Der Faktor a wird in pixel/mm angegeben und die Verschiebung b in pixel.

Code:
f(x) = a * x + b
a = (152 - 77) / (3600 - 1400)
b = 77
Warum ist bei dir f(3000) = 90?

Grüße vom marabu
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#3

Re: Problem mit der Prozentrechnung

  Alt 24. Aug 2005, 08:55
Zitat von marabu:
die 77 und die 152 sind wohl vertauscht?
Bedenke, dass beim Monitor y nach unten geht, nicht nach oben


Funktionieren sollte folgende Funktion:

NeuesY := 152-Round(75*(Hoehe-MinHoehe)/(MaxHoehe-MinHoehe)); Erklärung:

deine 1400mm entsprechen 0%, die 3600mm 100%.
Das ist eine Different von 2200. Dies sind nun deine neuen 100%, 0 dagegen 0%

Enstprechend die Y-Werte: 152 entspr. 0%, 77 100%.
Different: 75 = 100%.

nun berechne ich, wieviel % deine neue Hoehe bzgl. der mm Angaben sind: (Hoehe-MinHoehe)/(MaxHoehe-MinHoehe)
Das Ergebnis ist eine Zahl zwischen 0 und 1. Multipliziert mit 75 ergibt das die neue Differenz zum Y-Betrag bei 0% (=YNeu)
Dies ziehst du nun von 152 ab und schon hast du dein neues Y (NeuesY = 152 - YNeu).


Hoffe, das hilft.
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#4

Re: Problem mit der Prozentrechnung

  Alt 24. Aug 2005, 09:04
Das stellt eine Art Kran dar und er ist von oben nach unten "dehnbar".
Also wenn er ganz oben ist, hat er eine Höhe von 3600mm (vom BODEN gesehen) und damit eine Height von 77Pixeln (er ist zusammengezogen).
Wenn der Kran voll ausgefahren ist, hat er eine Höhe von 1400mm (über dem Boden) und damit eine Height von 152Pixeln.
Er ist sozusagen in der Top-Eigenschaft immer gleich nur die Height ändert sich Richtung Boden je nach Höhe.
Ich hatte mich vorhin anscheind komisch ausgedrückt.Sorry.
Ich hoffe ihr könnt mir irgendwie helfen...?!

MFG Alex

PS: Wenn er eine Höhe von 3000mm hat, ist die Height von 90Pixeln richtig
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#5

Re: Problem mit der Prozentrechnung

  Alt 24. Aug 2005, 09:11
NeuesY := 152-Round(75*(Hoehe-MinHoehe)/(MaxHoehe-MinHoehe));

Danke schön...
Hat super funktioniert

MFG Alex

PS: Hoffentlich ist mein Mathelehrer nicht hier in der DP
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz