Das RIC-Element VarMap ist das wohl
am schwersten zu verstehende RIC-Element, welches es innerhalb
von RIC-Files gibt. VarMap-Elemente werden dazu benutzt, um
einen im Parameter übergebenen Wert in einen anderen Wert per
linearer Interpolation umzurechnen, der dann letztendlich für
die Ausgabe verwendet wird.
Die Werte für die Domainpunkte
(X-Achse) können den Wert 0 bis 255 annehmen. Gültige Rangewerte
(Y-Achse) sind von 0 bis 65535.
Die Stützpunkte für die lineare
Interpolation kann auf dreierlei Weise eingegeben werden:
Direkt in der Grafik |
Jeder Klick in den
grafischen Kurvenbereich setzt einen neuen Punkt. Sollte
für den Domainwert (X-Achse) bereits ein Rangewert
(Y-Achse) existieren, so wird der Rangewert für den
Domainwert nur aktualisiert.
Befindet man sich genau auf
einem der definierten Punkte, so erscheint ein kleiner
Kreis. Wird nun die rechte Maustaste gedrückt, so wird
dieser Stützpunkt aus der Grafik und der Liste entfernt. |
Über die Eingabefelder |
Hier kann in der Regel eine
Feinabstimmung der Punkte vorgenommen werden. Man sollte
nur beachten, dass der Domainwert nur soweit geändert
werden kann, dass er um eines höher wie der
Vorgänger-Domainwert, und eines weniger wie der
Nachfolger-Domainwert ist. Die Rangewerte sind dagegen
frei änderbar. |
Einfügen über das Clipboard
 |
Hier werden paarweise die
Werte aus der Zwischenablage übernommen und als Paare
von Domain- und Range-Wert interpretiert. Bereits
eingegebene Punkte werden dabei zuvor gelöscht. Die
einzufügenden Punkte werden nach Domain-Wert aufsteigend
sortiert
Da mindestens zwei Paare
vorhanden sein müssen, werden auch mindestens 4
Zahlenwerte erwartet. Sind es weniger, oder eine
ungerade Anzahl von Zahlenwerte, dann wird eine
entsprechende Fehlermeldung ausgegeben! |
Auf dem folgenden Bild kann eine
mögliche Eingabe von Domain/Range-Werte erkannt werden.

Hier wurden mit Hilfe der Maus drei
Stützpunkte (Domain-Range-Paare) definiert:
|
Stützpunkt |
Domain |
Range |
|
|
0 |
0 |
0 |
|
|
1 |
100 |
50 |
|
|
2 |
150 |
0 |
|
Dabei funktioniert die
VarMap-Funktion wie folgt: Sie liefert den Range-Wert (Y-Achse)
zurück, der über dem gegebenen Domain-Wert (X-Achse) auf der
roten Kurve liegt.
Das folgende Beispiel zeigt, wie ein
Aufruf dieser VarMap-Funktion aus einem Wert 70 des Parameters 0
den Wert 35 errechnet:
|

Verwende VarMap 1 und
Parameter[ 0 ] = 70
VarMap 1:
0: 0 / 0
1: 100 /
50
2: 150 /
0 |
Der Wert 70 befindet sich
zwischen den Domainwerten D[0]=0 und D[1]=100
Also muss der Wert zwischen
diesen beiden Werten linear interpoliert werden. Als
Ergebnis ergibt sich ein Range-Wert von 35 über dem
Domain-Wert von 70. |
|
Werte die links vom ersten
definierten Domainwert liegen, erhalten den Rangewert des ersten
Domain-Range-Paares.
Werte die rechts vom letzten
definierten Domainwert liegen, erhalten den Rangewert des
letzten Domain-Range-Paares.
Ein gutes Beispiel für die
Verwendung des RIC-Elements VarMap findet sich bei den
Anwendungsbeispielen: Neue Zeichensätze und Voltmeter. |