kurse:efcomputergrafik:kw43

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
kurse:efcomputergrafik:kw43 [2019/10/23 14:40]
Marcel Metzler [Anwendung Datenkomprimierung Linienzeichnungen]
kurse:efcomputergrafik:kw43 [2019/10/24 09:12]
Marcel Metzler [Anwendung Datenkomprimierung von Linienzeichnungen]
Line 65: Line 65:
  
 Rechne $a_k$ vollständig durch. Rechne $a_k$ vollständig durch.
-====Anwendung Datenkomprimierung Linienzeichnungen====+====Anwendung Datenkomprimierung von Linienzeichnungen====
  
 **Aufgabe 3** **Aufgabe 3**
  
-Analysiere folgendes Programm.+Analysiere folgendes Programm. Was ist neu?
 <code python Fourier.py> <code python Fourier.py>
 from gpanel import * from gpanel import *
Line 103: Line 103:
  
 ===Konventionen und Anpassungen für die Datenkomprimierung=== ===Konventionen und Anpassungen für die Datenkomprimierung===
-Sei $f$ die Funktion, welche das Bild beschreibt.+Sei $f$ eine 1-periodische Funktion, welche unser Bild beschreibt.
 $$ f: \; \left[0,1\right] \; \rightarrow \; \mathbb{C}, \quad t \;\mapsto z=x+i\cdot y $$ $$ f: \; \left[0,1\right] \; \rightarrow \; \mathbb{C}, \quad t \;\mapsto z=x+i\cdot y $$
-D.h. wir fassen die Bildpunkte $P(x|y)$ als Punkte in der komplexen Zahlenebene auf. Der erste Punkt $P_0(x_0|y_0)$ ist $f(0)=x_0+i\cdot y_0$, der letzte Punkt $P_n(x_n|y_n)$ ist $f(1)=x_n+i\cdot y_n$, dazwischen wird linear interpoliert, d.h. mit $$\Delta t = \frac{1}{n-1}$$ folgt dann $P_k(x_k|y_k)$ ist $f((k-1)\Delta t)=x_k+i\cdot y_k$.+D.h. wir fassen die Bildpunkte $P(x|y)$ als Punkte in der komplexen Zahlenebene auf. Der erste Punkt $P_0(x_0|y_0)$ ist $f(0)=x_0+i\cdot y_0$, der letzte Punkt $P_n(x_n|y_n)$ ist $f(1)=x_n+i\cdot y_n$, dazwischen wird linear interpoliert, d.h. mit $$\Delta t = \frac{1}{n-1}$$ folgt dann für ein $k\in \{1,2,3,...,n\}$, dass $P_k(x_k|y_k)$ als $f((k-1)\Delta t)=x_k+i\cdot y_k$ interpretiert wird. 
 + 
 +Wir wollen unser $f$ welches wir nun anhand von einer endlichen Anzahl von Punkten kennen mit einem komplexen Fourierreihe approximieren, darstellen.  
 +$$f(t)=\sum_{k=-\infty}^{\infty}c_k \cdot e^{ikt}  \approx \sum_{k=-n}^{n}c_k \cdot e^{ikt}$$ 
 +Für den komplexen Fourierkoeffizienten $c_k$ gilt: 
 +$$c_k=\frac{1}{2\pi}\int_0^{2\pi} f(t)\cdot e^{-ikt}dt $$ 
 +Aufgrund unserer Anpassung, d.h. weil $f$ 1-periodisch ist ergibt sich folgende Vereinfachung. 
 +$$c_k=\int_0^1 f(t)\cdot e^{-ikt}dt $$ 
 +Das Integral berechnen wir über eine "Riemann"-Summe, d.h. 
 +$$c_k=\int_0^1 f(t)\cdot e^{-ikt}dt \approx \sum_{j=0}^{n-1}f(j\cdot \Delta t)\cdot e^{-ikj\cdot \Delta t}\cdot \Delta t$$ 
 + 
 +**Aufgabe 4** 
 + 
 +Ergänze das obige Programm so, dass 
 +  * die komplexen Fourierkoeffizienten $c_k$ berechnet werden und 
 +  * diese in einem File abgespeichert werden. Pro Zeile soll nur ein Fourierkoeffizient stehen.
  • kurse/efcomputergrafik/kw43.txt
  • Last modified: 2019/10/29 15:15
  • by Marcel Metzler