Hi.

Ist es möglich mit TikZ beliebige glatte zusammenhängende Gebiete oder auch beliebige Funktionen ohne konkrete Funktionsvorschrift zu zeichnen und falls ja, wie ist das zu bewerkstelligen? Als Beispiel: Anstelle eines Kreises soll die Umgebung U beliebig sein, so als würde man einfach per Hand etwas skizzieren.

Open in writeLaTeX
\documentclass{article}[12pt, a4paper, titlepage]
\usepackage[ngerman]{babel} 
\usepackage[ansinew]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[T1]{fontenc}
\usepackage{tikz}

 \newcommand\punkte[2][]{%
  \foreach \p in {#2}
    \node[draw,fill,circle,red,minimum size=2pt,inner sep=0pt,#1]at\p{};
}

\begin{document}
  \begin{center}
  \begin{tikzpicture}
  \draw[thick,->](-3,0)--(3,0)node[anchor=north west]{};
  \draw[thick,->](0,-3)--(0,3)node[anchor=south east]{$\mathbb{C}$};

  \punkte{(1,1),(1,1.5),(1.5,1),(-1,0.5),(-1.35,-0.82)};
  \draw circle [radius=2] node at (1.7,1.7) {U};

  \end{tikzpicture}
  \end{center}

\end{document}

gefragt 06 Feb '14, 17:15

Chris3148's gravatar image

Chris3148
1615712
Akzeptiert-Rate: 66%

bearbeitet 06 Feb '14, 22:07

stefan's gravatar image

stefan ♦♦
18.1k143048

@Chris3148 Zur Info, dass Du Dich nicht wunderst, ich hab mal unnötige \bibliographystyle und Theoremdefinitionen gekürzt, damit die Frage fokussierter ist, so ist es für Helfende einfacher, Lösungen zu sehen.

(06 Feb '14, 23:17) stefan ♦♦

Es gibt tolle ergänzende Pakete zu TikZ, oft von Anwendern geschrieben, die nicht selbst an TikZ entwickeln. Hier kann man das Paket hobby von Andrew Stacey verwenden, um eine glatte Kurve durch vorgegebene Punkte zeichnen zu lassen. Die kann hier erstmal grob geschätzt plazieren, und etwas umherschieben, bis man die Form der Menge wunschgemäß geknetet hat. Das hobby-Paket berechnet mit curve through eine glatte Kurve, so dass es wie mit der Hand durchgezeichnet aussieht, ohne dass man die Stützpunkte bemerken braucht.

Open in writeLaTeX
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{hobby}
\begin{document}
\begin{tikzpicture}
  \draw [thick, ->] (-3,0) -- (3,0) node [anchor=north west] {};
  \draw [thick, ->] (0,-3) -- (0,3) node [anchor=south east] {$\mathbf{C}$};

  \draw (0,2) to [closed, curve through = {(1.4,1.2) (1.5,1) (2,0)  (1.2,-0.2)
    (0,-1.4) (-1.5,-0.8) (-0.7,0) (-1.4,1) (-0.2,1.5)}] (0,2);

\end{tikzpicture}
\end{document}

Geschlossene glatte Kurve

Das hobby-Paket ist recht neu - wenn man es nicht in der TeX-Distribution drinhaben sollte, kann man es von CTAN laden. Auch writeLaTeX bietet es noch nicht.

Permanenter link

beantwortet 06 Feb '14, 21:24

stefan's gravatar image

stefan ♦♦
18.1k143048
Akzeptiert-Rate: 48%

Perfekt, das sieht genau nach dem aus, was ich benötige :) Vielen Dank euch beiden.

(07 Feb '14, 08:54) Chris3148

So langsam wird es zu einem Torus wo ich ja eigentlich hin will. Jetzt ist die Frage wieso er bei der offenen Kurve sowas seltsames macht. Ich habe es mir vorher ausgerechnet und eigentlich müsste sie komplett innerhalb des Torus liegen. Oder darf ich deinen Befehl garnicht so abändern? Tut mir Leid ich weiß leider nicht, wie ich das Bild was mir ausgegeben wird direkt hier einfüge so wie ihr das gemacht habt.

Open in writeLaTeX

 \documentclass{article}
        \usepackage{tikz}
        \usetikzlibrary{hobby}
        \begin{document}
        \begin{tikzpicture}
        \draw (0.5,1) to closed, curve through={(2,1.5)(3.5,1)(5,2)(3.5,3)(2,2.5)(0.5,3)(-1,2)};
                    \draw (3,2) to curve through={(3.25,1.75)(3.5,1.5)(3.75,1.75};
                \end{tikzpicture}
            \end{document}

(07 Feb '14, 16:07) Chris3148

@Chris3148 Da das keine Antwort auf deine oben gestellte Frage ist, habe ich das erstmal in einen Kommentar auf @Stefans Antwort umgewandelt. Wahrscheinlich wäre eine entsprechende Folgefrage aber besser.

Zum Einfügen von Bildern in Antworten gibt es einen Button oberhalb des Eingabefeldes.

(07 Feb '14, 17:17) esdd

@Chris3148 Zur Info, die Frage-Antwort-Seite funktioniert anders als ein Diskussionsforum. Alle Antworten sind echte Antworten auf die Frage. Bitte unten im Antwortfeld nicht Folgefragen oder Kommentare posten. Diskussionen in Kommentaren sind ok! Folgefragen einfach als neue Frage posten. Damit sortieren wir das Archiv hier für die Nachwelt. Wirst Du schätzen, wenn Du selbst mal was suchst hier. ;-) Das noch nicht wissen ist nicht schlimm, wir können ggf. Nicht-Antworten auch umwandeln, kein Problem.

(07 Feb '14, 17:18) stefan ♦♦

Ok, dann formuliere ich es, sobald ich Zeit habe, als neue Frage ;)

(07 Feb '14, 18:40) Chris3148

Ein solches Gebiet lässt sich durch eine zusammenhängende Kurve darstellen, welche aus einem Plot durch vorgegebene Koordinaten besteht. Der Einfachheit halber wurden hier Polarkoordinaten verwendet.

Open in writeLaTeX
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{amssymb}
\usepackage{tikz}

\newcommand\punkte[2][]{%
  \foreach \p in {#2}
    \node[draw,fill,circle,red,minimum size=2pt,inner sep=0pt,#1]at\p{};
}

\begin{document}
  \begin{tikzpicture}[>=stealth]
  \draw[thick,->](-3,0)--(3,0);
  \draw[thick,->](0,-3)--(0,3) node[anchor=south east] {$\mathbb{C}$};

  \punkte{(1,1),(1,1.5),(1.5,1),(-1,0.5),(-1.35,-0.82)};
  \node at (45:2) {U};

  \draw plot[smooth cycle] coordinates {
    (0:1.8)
    (30:2.6)
    (60:2.3)
    (90:1.7)
    (120:2.1)
    (150:2.2)
    (180:1.9)
    (210:2.5)
    (240:1.9)
    (270:1.6)
    (300:1.9)
    (330:2.4)
  };
  \end{tikzpicture}
\end{document}

Die Form ist hier nur als Beispiel gewählt und lässt sich natürlich anpassen. Nähere Informationen sind in der Anleitung zu finden.


alt text

Permanenter link

beantwortet 06 Feb '14, 19:20

Thorsten's gravatar image

Thorsten
1.6k325
Akzeptiert-Rate: 58%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×728

gestellte Frage: 06 Feb '14, 17:15

Frage wurde gesehen: 11,283 Mal

zuletzt geändert: 07 Feb '14, 18:40