Ich würde gerne eine Linie in ein Rechteck und eine Ellipse einzeichnen, sodass die beiden Linien auf gleicher Höhe stehen, wenn die Figuren bei gleicher Breite untereinander stehen.

Das Problem ist, dass die absolute Position der Anker bei gleicher Breite beider Figuren, wie in der nachfolgenden Darstellung zu sehen ist, nicht übereinstimmt. Die Linie im Rechteck ist links versetzt von der Linie in der Ellipse.

Open in writeLaTeX
\documentclass[11pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
    \begin{tikzpicture}
        \node[rectangle,minimum width=5cm,minimum height=2cm,draw=black] (A) at (0,0) {};
        \node[ellipse,minimum width=5cm,minimum height=2cm,draw=black] (B) at (0,3) {};
        \draw (A.155) -- (A.205);
        \draw (B.155) -- (B.205);
    \end{tikzpicture}
\end{document}

alt text

gefragt 28 Okt '14, 14:27

Seve's gravatar image

Seve
222612
Akzeptiert-Rate: 100%


Die Koordinaten braucht es so: (A.205) ?

Vll. irgendwie so mit intersections:

  • Konstruieren

alt text

  • Jetzt überall myHide ergänzen:

alt text

Open in writeLaTeX
\documentclass[margin=11pt, varwidth]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}
\tikzset{myStyle/.style = {minimum width=5cm,minimum height=2cm,draw=black}}
\tikzset{myHide/.style = {draw=none, fill=none}}

% Rechteck und Ellipse
\node[rectangle, name path=rectangle, myStyle] (A) at (0,0) {};
\node[ellipse, name path=ellipse, myStyle] (B) at (0,3) {};

% Konstruktion
\node[rectangle, name path=helprectangle, myStyle, red, dashed, myHide] (Y) at (0,3) {};
\draw[blue, name path=helpline, myHide] (Y.155) -- (Y.205) node{};

\fill [red, text=black, right, name intersections={of=ellipse and helpline}, myHide]
(intersection-1) circle (2pt) node {}
(intersection-2) circle (2pt) node {};

% Strecken
\draw[blue] (intersection-1) -- (intersection-2) node{};
\draw[blue] (A.155) -- (A.205) node[]{};
\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 28 Okt '14, 17:40

cis's gravatar image

cis
9.4k23259468
Akzeptiert-Rate: 29%

Vielen Dank, das funktioniert perfekt.

(28 Okt '14, 18:23) Seve

Falls man die Anker der Ellipse für die Vorgabe der Linienposition nutzen will bzw. kann, wäre auch das folgende möglich:

Open in writeLaTeX
\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
  \begin{tikzpicture}[
      myStyle/.style={minimum width=5cm,minimum height=2cm,draw=black}
    ]
    \node[myStyle] (A) at (0,0) {};
    \node[ellipse,myStyle] (B) at (0,3) {};
    \draw (B.155) -- (B.205)coordinate(S);
    \draw(S|-A.north)--(S|-A.south);
  \end{tikzpicture}
\end{document}

Dabei wird zuerst die Linie in der Ellipse gezeichnet und eine Koordinate S in einem der beiden Linienendpunkte definiert. Diese Koordinate wird dann für die horizontale Ausrichtung der Linie im Rechteck verwendet.

Ergebnis:

alt text

Permanenter link

beantwortet 29 Okt '14, 01:13

esdd's gravatar image

esdd
15.9k164055
Akzeptiert-Rate: 63%

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:

×689

gestellte Frage: 28 Okt '14, 14:27

Frage wurde gesehen: 6,440 Mal

zuletzt geändert: 29 Okt '14, 01:13