Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Eine Skala, die sich dem Bereich anpasst

  Alt 25. Mai 2009, 05:52
Zitat von Dipl Phys Ernst Winter:
Der gewünschte Abstand ist eine Strecke auf dem Bildschirm, ich kenne hierfür kein anderes Maß als Pixel.
Entschuldige, so gern ich deine Beiträge lese, diesmal verstehe ich nur Bahnhof.
Also ich kenne noch 'cm', 'mm' usw. Zudem ist ein 'Pixel' keine Maßeinheit, sondern die Bezeichnung für einen digitalen Bildpunkt.
Wenn Du meinen Beitrag aufmerksam gelesen, hast, müsste Dir mein einfaches Beispiel aufgefallen sein: Die Anzahl der gewünschten Unterteilungen (Tics).
Wenn ich solche Achsen benötige, zeichne ich sie nur manchmal auf den Bildschirm. Manchmal zeichne ich sie auch per Hand auf ein Blatt Papier oder lasse es einen Plotter erledigen, die beide -wie bekannt- die Maßeinheit 'Pixel' nicht kennen. Und wenn ich sie in ein Fenster zeichne, möchte ich doch, das sich die Grafik der Fenstergröße anpasst, also kann ich keine konstante Anzahl von Pixeln angeben. Zudem versuche ich, meine Grafiken unabhängig von der Auflösung zu zeichnen. Sie sollen z.B. bildschirmfüllend sein, also sowohl auf einem 100x200 als auch auf einem 3000x4000 Bildschirm möglichst gleich aussehen: Wie soll das mit deinem Verfahren funktionieren?

Aus diesen Gründen ist es mir egal, wie weit die Ticks auseinander liegen sollen. Ich definiere die Anzahl der Tics, die ich sehen will (normalerweise 6-12, wegen der Übersichtlichkeit), den Rest erledigt mein Achsenskalierer.

Eigentlich ist mein Verfahren ganz einfach:
1. Normalisieren der XA und XE auf Werte zwischen 0 und 9.9999
2. Berechnen des gewünschten Abstandes in Einheiten: DX = (XE-XA)/Anzahl_gewünschter_Tics.
3. Anpassen von DX auf den nächsten Wert [0.1, 0.2, 0.25, 0.5, 1.0, 2.0, 2.5, 5.0] (=> DX')
4. Anpassen von XA' und XE', sodaß XA' = x * DX' (x = ganze Zahl und XA' <= XA mit größtem x). (XE' = y*DX mit XE'>=XE mit kleinstem y)
5. Hochrechnen von XA', XE' und DX' auf die Ursprungsgröße mit Hilfe des Faktors aus (1)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat