Gibt es ein Paket, dass das modifizieren von Kreisen halbwegs automatisiert? Genauer hätte ich gerne ein Hilfsmittel, um einen Kreis beispielsweise in n gleich große Sektoren einzuteilen. Danke.

gefragt 07 Okt '15, 22:56

runix's gravatar image

runix
1.0k207384
Akzeptiert-Rate: 0%

bearbeitet 21 Jun '16, 17:39

saputello's gravatar image

saputello
11.1k154365

Ich vermute, dass das mit Geometric shape und einer vernünftigen Schleife umzusetzen ist.

(07 Okt '15, 23:10) runix
1

Wenn Du komplexere geometrische Konstruktionen machen willst, dann hilft Dir vielleicht das Paket tkz-euclide.

(08 Okt '15, 09:09) esdd

Das Teilen eines Kreises in n Sektoren ist keine große Sache und bei TikZ nur ein Einzeiler. Die Frage ist: ist das Deine einzige Frage, oder möchtest Du noch weitere Dinge mit Kreisen machen?

(08 Okt '15, 09:23) cgnieder

Ich würde jene Sektoren gerne nach Belieben einfärben, aber das kriege ich dann selbst hin, hoffentlich.

(08 Okt '15, 14:32) runix

Das Paket kennst Du schon – jedenfalls das für das Teilen eines Kreises in n Sektoren: TikZ reicht dafür bestens aus, da das Teilen mit einer einfachen Schleife in einer Zeile gemacht werden kann. Hilfreich dabei: relative Koordinaten ++(...) und die Angabe in Polarkoordinaten: (<winkel>:<radius>).

Open in Online-Editor
\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
  \draw (0,0) circle (1cm) ;
  % in 10 Teile teilen:
  \foreach \t in {1,...,10} {
    \draw (0,0) -- ++(36*\t:1cm) ;
  }
\end{tikzpicture}

% etwas Automatisierung:
\newcommand*\kreisteile[1]{%
  \begin{tikzpicture}
    \draw (0,0) circle (1cm) ; %
    \foreach \t in {1,...,#1} {
      \draw (0,0) -- ++(360/#1*\t:1cm) ;
    }
  \end{tikzpicture}
}

\kreisteile{4}
\kreisteile{5}
\kreisteile{12}
\kreisteile{36}
\kreisteile{120}

\end{document}

alt text

Man könnte \kreisteile natürlich noch um ein Argument für den Kreisradius erweitern:

Open in Online-Editor
% etwas Automatisierung – zur Verwendung in einem {tikzpicture}:
% #1: Mittelpunkt:
% #2: Radius:
% #3: Anzahl Teile
\newcommand*\kreisteile[3]{%
    \draw (#1) circle (#2) ; %
    \foreach \t in {1,...,#3} {
      \draw (#1) -- ++(360/#3*\t:#2) ;
    }
}
Permanenter link

beantwortet 08 Okt '15, 09:14

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

bearbeitet 08 Okt '15, 09:47

Wie kann ich, basierend auf deiner Lösung, einzelne Sektoren mit einer Farbe meiner Wahl versehen?

(12 Okt '15, 19:49) runix

@runix: Ich würde ja sagen, dass das wieder einmal eine neue Frage ist.

(12 Okt '15, 19:59) saputello

Ich würde das gerne um weitere Sachen erweitern: Weiß allerdings nicht ob das eine eigenständige Frage wert ist: Ich würde gerne folgende Darstellung bewerkstelligen:

Kreis1 + Kreis2 = Zahl

Zahl1 + Zahl2 = Zahl

Wie kriege ich das am besten hin? Ist das eine eigene Frage wert?

(12 Okt '15, 20:24) runix

Willst Du Brüche/Bruchrechnung darstellen?

(12 Okt '15, 20:26) cgnieder

Richtig. Genau das.

(12 Okt '15, 20:27) runix

Um die allgemeine Frage nach einem Paket zum Zeichnen von Kreisen zu beantworten, hier mal ein Beispiel mit tzk-euclide, was Elke oben schon nannte. Das ist ein Paket zum geometrischen Zeichnen und konstruieren, Kreise gehören natürlich auch dazu. Das Beispiel hatte ich ohnehin vor einiger Zeit für das LaTeX Cookbook gemacht.

Kreise kann ich hier einfach definieren und zeichnen als Inkreis und Umkreis durch drei Punkte, hier zeichne ich noch Dreieck, Mittelsenkrechten und Winkel.

Open in Online-Editor
\documentclass[border=10pt]{standalone}
\usepackage{tkz-euclide}
\usetkzobj{polygons,angles}
\begin{document}
\begin{tikzpicture}
  \tkzDefPoints{0/0/A, 5/0/B, 1/4/C}
  \tkzDefCircle[in](A,B,C)
  \tkzGetPoint{M}
  \tkzGetLength{r}
  \tkzDefCircle[circum](A,B,C)
  \tkzGetPoint{N}
  \tkzGetLength{R}
  \tkzDefPointBy[projection=onto A--B](M)
  \tkzGetPoint{a}
  \tkzDefPointBy[projection=onto B--C](M)
  \tkzGetPoint{b}
  \tkzDefPointBy[projection=onto A--C](M)
  \tkzGetPoint{c}

  \tkzDrawCircle[R](M,\r pt)
  \tkzDrawCircle[R](N,\R pt)
  \tkzDrawPolygon[very thick](A,B,C)
  \tkzDrawLines[dotted](N,A N,B N,C)
  \tkzDrawLines[dashed](M,a M,b M,c)
  \tkzMarkRightAngles(M,a,B M,b,C M,c,C)
  \tkzDrawPoints(A,B,C,M,N,a,b,c)
  \tkzLabelPoints[below left](A,M,a,c)
  \tkzLabelPoints[below right](B)
  \tkzLabelPoints[above](C,b)
  \tkzLabelPoints[below](N)
\end{tikzpicture}
\end{document}

Dreieck und Kreise

Permanenter link

beantwortet 08 Okt '15, 20:03

stefan's gravatar image

stefan ♦♦
18.1k143048
Akzeptiert-Rate: 48%

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
×20

gestellte Frage: 07 Okt '15, 22:56

Frage wurde gesehen: 14,660 Mal

zuletzt geändert: 21 Jun '16, 17:39