Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
kurse:efcomputergrafik:kw43 [2019/10/23 14:52] 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 |
**Aufgabe 3** | **Aufgabe 3** | ||
- | Analysiere folgendes Programm. | + | Analysiere folgendes Programm. |
<code python Fourier.py> | <code python Fourier.py> | ||
from gpanel import * | from gpanel import * | ||
Line 106: | Line 106: | ||
$$ f: \; \left[0, | $$ f: \; \left[0, | ||
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. 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, | ||
+ | |||
+ | Wir wollen unser $f$ welches wir nun anhand von einer endlichen Anzahl von Punkten kennen mit einem komplexen Fourierreihe approximieren, | ||
+ | $$f(t)=\sum_{k=-\infty}^{\infty}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 " | ||
+ | $$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. |