Hallo!

Ich zeichne in folgendem Plot die Winkel (absichtlich) von Hand (Möglichkeiten über die angle-Lib sind bekannt). Wie setze ich am besten die Winkelbeschriftungen, so daß sie bei Änderung des scale-Faktors an der gewünschten Stelle bleiben.

scale = 2.5 :)

alt text

scale = 1.75 :(

alt text

Open in writeLaTeX
\documentclass[varwidth, margin=5pt]{standalone}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usetikzlibrary{calc, plotmarks}
\usepackage{amsmath, amssymb}
   \pagecolor{green!50!yellow!50!white}
%===========
\begin{document}
%===========
\def\scala{1.75}
\begin{tikzpicture}[>=latex, font=\footnotesize, scale=\scala]

%Koordinaten
\coordinate (O) at (0,0);
\coordinate (P) at ($({cos(50)},{sin(50)})$);
\coordinate (Q) at (-1,0);

%Strecken
\draw[] (O) -- (P) -- (Q) --(O);

%Winkel
\draw[very thin, red] ([shift=(0:0.5)]Q)  arc (0:25:0.5) node[xshift=-0.4cm, yshift=-0.35cm]{$\varrho$};

\draw[very thin, red] ([shift=(205:0.4)]P)  arc (205:230:0.4) node[xshift=0.15cm, yshift=0.4cm]{$\varrho$};

\draw[<->, very thin, red] ([shift=(50:0.25)]O)  arc (50:180:0.25) node[xshift=0.0cm, yshift=0.5cm]{$\chi$};

%Punkte
\draw[] plot[mark=*, mark size=1.5pt/\scala, mark options={fill=white}] coordinates{(O)} node[left=5pt, below]{$O$};
\draw[] plot[mark=*, mark size=1.5pt/\scala, mark options={fill=white}] coordinates{(P)} node[above]{$P$};
\draw[] plot[mark=*, mark size=1.5pt/\scala, mark options={fill=white}] coordinates{(Q)} node[above=5pt, left]{$Q$};
\end{tikzpicture}
%===========
\end{document}
%===========

gefragt 19 Jul '14, 11:55

cis's gravatar image

cis
5.4k860167
Akzeptiert: 68%


Ich vermute mal, dass du nicht nur die angle library sondern überhaupt die Möglichkeiten (Stichwort pic) von TikZ/pgf 3.0 nicht verwenden möchtest, da diese auf dem matheplanet.de noch nicht verwendbar sind.

Wenn die Beschriftungen beim Skalieren ihre relative Position behalten sollen, dann musst du sie relativ zu den Eckpunkten positionieren bzw. darfst nur Dinge verwenden, die entsprechend mitskaliert werden. In meinem Vorschlag nutze ich distance modifier (bitte in der Doku nachlesen)

Open in writeLaTeX
\node[red]at($($(Q)!.4cm!(P)$)!0.5!($(Q)!.4cm!(O)$)$){$\varrho$};

Dabei wird auf jedem Schenkel des Winkels bei Q ein Punkt im Abstand von .4cm (wird mit skaliert) von Q ermittelt und der Nodeninhalt in die Mitte zwischen diesen beiden Punkten gesetzt.

Ansonsten habe ich mir in deinem Code das Leben etwas erleichtert, in dem ich die Winkelmarkierungen bei P und Q einfach als Kreise zeichne und das überstehende wegclippe. Bei O geht das leider wegen der von dir verwendeten Pfeile nicht.

Die Punktmarkierungen lassen sich auch einfach direkt zeichnen, dafür muss man nicht erst die plotmarks library laden.

Open in writeLaTeX
\documentclass[varwidth, margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{amssymb}
\pagecolor{green!50!yellow!50!white}

\newcommand\scala{}
\newcommand\winkel{}

\newcommand*\Dreieck[3][.5]{%
  \def\scala{#3}
  \def\winkel{#2}
  \begin{tikzpicture}[>=latex, font=\footnotesize, scale=\scala]
    % Koordinaten
    \coordinate (O) at (0,0);
    \coordinate (P) at (\winkel:1);
    \coordinate (Q) at (-1,0);
    % Strecken und Winkel
    \begin{scope}% clippen lokal halten
      \clip [preaction=draw] (O) -- (P) -- (Q) --cycle;
      \foreach \p in {Q,P}\draw[red,very thin](\p)circle[radius=.5];
    \end{scope}
    % wegen der Pfeile extra:
    \draw[<->,very thin,red]([shift=(\winkel:0.25)]O)arc(\winkel:180:0.25);
    % Winkelbeschriftung
    \node[red]at($($(Q)!.4cm!(P)$)!0.5!($(Q)!.4cm!(O)$)$){$\varrho$};
    \node[red]at($($(P)!.4cm!(Q)$)!0.5!($(P)!.4cm!(O)$)$){$\varrho$};
    \node[red]at({90+#1*\winkel}:0.35){$\chi$};
    \node[blue]at({90+#1*\winkel}:0.17){$\chi$};
    % Punkte
    \foreach \p/\l in {O/below left,P/above,Q/above left}
      \draw[fill=white] 
        (\p)node[\l,inner xsep=2pt]{\p}circle[radius={1pt/\scala}];
  \end{tikzpicture}%
}

\begin{document}
\Dreieck{50}{1.75}

\Dreieck{50}{2.5}

\Dreieck{50}{4}
\end{document}

Mit dem optionalen Argument könntest du das Chi noch verschieben. Ich habe es jetzt auf die Winkelhalbierende gesetzt, in zwei verschiedenen Abständen, je nach dem, ob es wirklich außerhalb der Winkelmarkierung stehen soll. Bei den beiden rho habe ich es für sinnvoller gehalten, für beide gleiche Abstände zu nehmen.

alt text

Permanenter link

beantwortet 19 Jul '14, 14:10

esdd's gravatar image

esdd
14.2k53251

Aja super - gar nicht so einfach mit dem 'distance modifier'. Ich benutze ganz gern die 'plotmarks'-Punkte, weil man da viele Einstellungsmöglichkeiten hat, hier wäre es nicht zwingend nötig gewesen ;)

(20 Jul '14, 03:13) cis
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492

Frage gestellt: 19 Jul '14, 11:55

Frage wurde angeschaut: 2,291 Mal

Zuletzt aktualisiert: 20 Jul '14, 03:13