Aktuelles
Institut
Forschung
Lehre
Aktuelle Veranstaltungen
Alle Veranstaltungen
WiSe 2007 / 2008
SoSe 2007
WiSe 2006 / 2007
SoSe 2006
WiSe 2005 / 2006
SoSe 2005
WiSe 2004 / 2005
SoSe 2004
WiSe 2003 / 2004
SoSe 2003
WiSe 2002 / 2003
SoSe 2002
WiSe 2001 / 2002
SoSe 2001
Grundl. d. Gestaltung II
Interaktive Systeme
Multimediasysteme
Themen
Unterlagen
Übungen
Übung 1
Übung 2
Übung 3
Übung 4
Übung 5
Übung 6
Übung 7
Übung 8
Übung 9
Referenzen
User Interfaces
WiSe 2000 / 2001
SoSe 2000
Diplomarbeiten
Einzelpraktika
Showcases
Konferenzen
Studiengang
Vorlesung Multimediasysteme - Übung 1 - Informationstheorie und Farbmodelle
Lernziel
         
Diese Übung vertieft die Themen Informationstheorie und Farbmodelle.
Ablauf
         
Die in der Vorlesungen vorgestellten Formeln zur Berechnung des Informationsgehaltes und der Entropie werden anhand zweier Rechenbeispiele verdeutlicht. Anschliessend werden die Berechnungen in Programmieraufgaben rechnerbasiert geübt.

Die Umrechnung der Vorlesung vorgestellten Farbmodelle wird anhand des Beispiels HSB nach RGB in einer weiteren Programmieraufgabe geübt.

Die nötigen Dateien finden Sie hier. Bitte extrahieren Sie diese in Ihr Homeverzeichnis

Aufgabe 1: Berechnung der Entropie eines eingegebenen Satzes

Aufgabe ist es, den vorgegebenen Java-Programmrumpf Entropie.java, zu vervollständigen. Es lädt ein Alphabet aus einer Datei, wobei der Dateiname als Kommandozeilenparameter angegeben wird. In jedem ist ein Alphabet und die Wahrscheinlichkeiten - definiert in Variablen - gegeben. Zunächst soll die Entropie des Alphabets berechnet werden. Anschliessend soll ein Satz dieses Alphabets eingelesen werden und der Informationsgehalt - unter Verwendung der eingelesenen Wahrscheinlichkeitsverteilung - berechnet werden. Die Entropie und der Informationsgehalt des Satzes sollen ausgegeben werden.
  • Das Alphabet und die Wahrscheinlichkeiten sind jeweils als Variblen LETTERS und PROBABILITIES definiert. Programmieren Sie die Aufgabe nur in Abhängigkeit dieser Variablen. Die Variablen werden zu Beginn aus einer Alphabetdatei bereits eingelesen. Dazu sind die drei Alphabete adert.txt, buchstabengleich.txt und buchstabengleich.txt gegeben.
  • Der Satz soll aus genau einer Zeile bestehen. Verwenden Sie zum Einlesen von Zeichen die Methode System.in.read() oder BufferedReader.readLine() .
  • Prüfen Sie die den Eingabesatz auf Richtigkeit, d.h. enthält er nur mögliche Zeichen des Alphabets (Alternativ können Sie auch nur diese Zeichen zulassen SCHWIERIGER!).
  • Berechnen Sie die Entropie und den Informationsgehalt und geben die geforderten Ausgaben aus. Die Formel finden Sie z.B. im Skript Kapitel 1 ab Folie 15
Fragen:
  • Wie kann die Entropie interpretiert werden? Informell und technisch gesehen?
  • Wie kann der Informationsgehalt eines Satzes interpretiert werden?
Aufgabe 2: Umrechnung vom Farbmodell HSB nach RGB

n dieser Aufgabe soll die Umrechnung des Farbmodells HSB nach RGB geübt werden. Verwenden Sie dazu die Klasse ColorModelConverter, die eine Swing-basierte Benutzeroberfläche erzeugt und Textfelder zum Eingeben von RGB- und HSB-Werten bereitstellt. Weiterhin zeigt die Anwendung die Farbe des eingegeben HSB-Wertes und RGB-Wertes an. Implementieren Sie nun die Methode convertHSB2RGB, welches für die automatische Umrechnung von HSB nach RGB verantwortlich ist. Das Ergebnis der Methode wird ebenfalls in der Benutzerfläche ausgegeben und die berechnete Farbe dargestellt.

Tips:
  • Die Eigabewerte liegen bei Aufruf der Methode in den Variablen RGBcolor[0..2], die berechneten Werte müssen in HSBcolor stehen.
  • Beachten Sie, dass die Skala für RGB-Werte für jeden Wert von 0..255 (integer) beträgt, für HSB 0..360, 0..1, 0..1 (double).
  • Nehmen sie folgende die Umrechnungsformel von HSB zu RGB (ps)
  • Testen Sie Ihr Programm mit folgenden Werten:
    1. HSB: 180, 0, 50
    2. HSB: 0, 50, 100
    3. HSB: 0, 0, 16.5
  • Falls Sie fertig sind, implementieren Sie auch die Rückrichtung RGB nach HSB. Suchen Sie sich eine Umrechnungsformel aus dem Internet.
Fragen:
  • Finden Sie die Eingabe von HSB oder RGB intuitiver? Warum?