/** * @author Andreas Adlboller * email a.adlboller@aon.at * mat-nr 0209730 * kennnr e535 * aufgabe 1200 (Farbkonvertierung 2) * datum 25.11.2002 * * beschreibung: * RGB-Werte einlesen und auf einen verkleinerten Farbraum abbilden. */ Ablaufbeschreibung: 1. Es werden die Grenzwerte der einzelnen Farbbereiche bestimmt (im Verhältnis 7:7:3) 2. Es werden 3 Werte eingelesen und auf Gültigkeit überprüft 3. Überprüfung, ob die eingegebenen Werte einem Eckpunkt entsprichen 4. Falls der Punkt kein Eckpunkt ist werden die Abstände zu den Eckpunkten berechnet und der näheste und am weiten entfernstete Eckpunkt bestimmt. 5. Ausgabe zu 3. Die Überprüfung, ob ein Punkt ein Eckpunkt ist habe ich mittels dreier for-Schleifen realisiert wobei im Idealfall nur eine einzige abgearbeitet wird. Ich habe absichtlich die Schleife über die Grenzen von Blau als erste genommen da hier die Wahrscheinlichkeit das ein Grenzwert eingegeben wurde am geringsten ist. zu 4. Die Bestimmung der nächstgelegenen Grenzen erfolgt mittels der Methoden "min" und "max". Diese Methoden arbeiten die Grenzwert-Arrays in einer for-Schleife ab und durch die Abbruchbedingung der for-Schleife ist garantiert das beim Verlassen der for-Schleife der Index auf den gesuchten Grenzwert zeigt. Als nächstes werden die Abstände zu den jeweiligen Eckpunkten bestimmt. Dies geschieht unter der Annahme das der Punkt den Farb-Quader in 8 Quader unterteilt und somit die Raumdiagonalen der einzelnen Quader berechnet werden. In einer for-Schleife werden dann der nächstgelegene und der entfernteste Punkt bestimmt indem der Index des kleinsten bzw größten Abstandes bestimmt wird. Als Startwerte für die for-Schleife werden die Eckpunkte des dem Ursprung am nähesten liegenden Eckpunkts gewählt.