.icp .uni-stuttgar t.de
Computergrundlagen Computergrafik und Gnuplot
Axel Arnold
Institut für Computerphysik
Universität Stuttgart
Wintersemester 2014/15
http://www .icp .uni-stuttgar t.de
Was ist ein digitales Bild?
Bilder am Computer gestalten Bilder am Computer bearbeiten
(z.B. von einer Kamera)
.icp .uni-stuttgar t.de
Grafikformate
Grafikformate
Rastergrafik (Bitmaps)
verlustfrei
BMP, TIFF, PNG, GIF, ...
verlustbehaftet
JPEG
Vektorgrafik
SVG, PDF, (Enhanced) Postscript, ...
3D-Modelle
VRML,
POVRAY,
DXF, ...
http://www .icp .uni-stuttgar t.de
Unterschiede zwischen Vektor- und Rastergrafik
Vektorgrafik Rastergrafik
Editor: Inkscape, Illustrator, ...
speichert Objekte (Kreis, Polygon,...)
für Skizzen, Graphen, ...
beliebig vergrößerbar
Speicherbedarf abhängig von Anzahl geometrischer Objekte kann meist auch Rasterdaten effizient speichern
Editor: GIMP, Photoshop, ...
Matrix von Farbinformationen z.B. von Kamera (CCD) für Fotos, Icons, Logos, ...
begrenzte Auflösung
Speicherbedarf hängt nicht von
der Komplexität ab
.icp .uni-stuttgar t.de
Beispiel — ein Graph
��
�����
����
�����
����
�����
����
�� �� �� �� ��
��������������
����������������
PDF, 15 KByte computergenerierter Graph Vektorgrafik skalierbar Artefakte in JPEG
Skizzen oder Graphen als Vektorgrafik!
JPEG, 18 KByte
JPEG, 267 KByte
http://www .icp .uni-stuttgar t.de
Gnuplot
������
�������
������
�����
����
��
���
����
����� ���� �� ���
�����������������
��������������
�
���
�������
�������
������
�����
����
��
���
����
�� �� �� �� �� �� �� �� �����
��������������
Einfaches Kommandozeilentool zum Zeichen von Funktionen Dateneingabe als Texttabellen
Zahlreiche Ausgabeformate
Sehr robuste und einfach zu bedienende Fitfunktion
ausführliche Hilfe unter help
.icp .uni-stuttgar t.de
plot – Zeichen von Funktionen
plot x**2 set parametric set trange [0:2*pi]
plot sin(t), cos(t)
��
����
��
����
��
�� ���� �� ���� ��
Funktionsplots: Variable x
Math. Funktionen wie in Python: x**n,exp,sin,sqrt,...
Parameterplots: set parametric , dann Funktion als x(t),y(t)
set [x|t]range : Zeichenbereich
http://www .icp .uni-stuttgar t.de
Zahlenkolonnen als Funktionen
plot "test.dat" with points,\
"" using 1:3 with linespoints
Leerschritt-separierte Tabellen Art der Darstellung:
with points, with lines,
with linespoints (Punkte, Lini- en oder beides)
using 1:2 : zweite Spalte als Funktion der ersten
using 2:(2*$3) : dritte Spalte ver- doppelt
��
���
���
���
���
����
����
����
����
����
�� �� �� �� �� ���
����
�
������
�����������
�����
# N f(N) f2(N) 1 1 1
2 2 4
1 5 5
2 6 8
.icp .uni-stuttgar t.de
Anpassen der Darstellung
set xtics 3 set mxtics 5
plot 1 w lp linetype 1 lw 2 \ pointtype 1 ps 2, \
2 w lp linetype 2 lw 2 \
pointtype 2 ps 2
����
��
��
���
�� �� �� ��
����������������������
set [m][x|y]tics : Achsenmarkierungen
linetype,lt , linecolor,lc und linewidth,lw : Linienstil, -farbe und -breite
pointtype,pt und pointsize,ps : Form und Größe der Punkte, Farbe entspricht immer der Linie
Bedeutung der Zahlen hängt vom Ausgabegerät ab
http://www .icp .uni-stuttgar t.de
Beschriftung
set key left top set xlabel "v"
set ylabel "f(v)"
set xrange [0:10]
plot exp(-x/2), \ x**2 title "v^2", \ 10*sin(2*pi*x) notitle
���
��
���
���
���
���
����
�� �� �� �� �� ���
����
�
���������
���
set [x|y]label : Achsenbeschriftung set [x|y]range : Achsenbereich
[no]title : Name der Funktion in der Legende
set key [left|right] [top|bottom] : Positionierung der Legende
set key off : Legende ausschalten
.icp .uni-stuttgar t.de
Ausgabe als Grafikdateien
set term pdf enhanced color solid \ linewidth 4 font "Helvetica"
set out "lines.pdf"
...
set out "name" : Ausgabedatei
unset out : Ausgabe schließen
��
��
��
��
���
�� �� �� �� �� ���
����������������������
����������������
set term pdf : PDF-Ausgabe, z. B. zum Einbinden in Dokumente (L
ATEX)
einige Optionen:
color/mono : Farbig / Schwarz-Weiß
solid/dashed : Durchgezogene / gestrichelte Linien
enhanced : Erweiterte Textlabels (hochstellen, Symbole)
font : Auswahl des (Postscript-)Zeichensatzes
http://www .icp .uni-stuttgar t.de
Funktionsfits
f(x,m,s)= 1./sqrt(2*pi*s) \
*exp(-0.5*(x-m)**2/s)
fit f(x,m,s) "histo.dat" via m, s
plot "histo.dat", f(x,m,s)
��
�����
����
�����
����
�����
����
�� �� �� �� ��
��������������
����������������