Hallo,

ich habe folgendes Problem. Ich möchte eine glatte geschlossene konvexe Kurve so in ein gleichseitiges Dreieck ABC (hier Seitenlänge 12) einzeichnen, dass alle drei Seiten des Dreieckes die Kurve tangieren, sprich das Dreieck schreibt die Kurve ein. Mein Problem ist das tangieren - ich habe drei Punkte X Y Z (müssen nicht alle auf 0.6 der Seiten liegen) auf dem Dreieck durch die meine Kurve gehen soll. Wenn ich den Befehl aus dem hobby Paket
\draw (X) to [closed, curve through = { (Y) (Z) }] (X);
benutze zeichnet er mir zwar eine glatte geschlossene konvexe Kurve, allerdings nicht tangential zum Dreieck. Hat jemand einen hilfreichen Tipp? ;)

Open in Online-Editor
\documentclass{article}    
\usepackage{tikz}
\usetikzlibrary{hobby}

 \begin{document}

    \begin{tikzpicture}
    \coordinate [label=left:$A$] (A) at (0,0);
    \coordinate [label=right:$B$] (B) at (12,0);
    \coordinate [label=above:$C$] (C) at (6,{sin(60)*12});
    \coordinate [label=above:$0$] (P) at (6,3);

    \node (X) at ($ (A)!.6!(B) $) {}; %X auf 0.6 von AB
    \node (Y) at ($ (B)!.6!(C) $) {}; %Y auf 0.6 von BC
    \node (Z) at ($ (C)!.6!(A) $) {}; %Z auf 0.6 von CA

    \draw (A) --  (B)  -- (C) --  (A); %draws triangle ABC

    %draws convex closed curve
    \draw (X) to [closed, curve through = {  (Y)  (Z) }] (X);

    \end{tikzpicture}

\end{document}

gefragt 28 Apr '15, 16:43

embeh's gravatar image

embeh
1474812
Akzeptiert-Rate: 0%

bearbeitet 28 Apr '15, 16:51

Johannes's gravatar image

Johannes
7.3k294566


Wenn ich es richtig verstanden habe, suchst Du etwas in der Art

alt text

Dafür müssen die in und out Optionen so angegeben werden, dass die Dreieckseite die Tangente an die Kurve ist. Das ist bei einem gleichseitigen Dreieck kein Problem.

Code:

Open in Online-Editor
\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
  \coordinate [label=left:$A$] (A) at (0,0);
  \coordinate [label=right:$B$] (B) at (12,0);
  \coordinate [label=above:$C$] (C) at (60:12);

  \coordinate (X) at ($ (A)!.6!(B) $); %X auf AB
  \coordinate (Y) at ($ (B)!.6!(C) $); %Y auf BC
  \coordinate (Z) at ($ (C)!.6!(A) $); %Z auf CA

  \draw (A) --  (B)  -- (C) -- cycle; %draws triangle ABC

  \draw[red,thick]
    (X) to[out=0,in=-60] (Y) to[out=120,in=60] (Z) to[out=-120,in=180] (X);
\end{tikzpicture}
\end{document}

Das funktioniert auch für andere Punkte auf den Dreiecksseiten, wenn sie nicht zu dicht an den Eckpunkten liegen. Zum Beispiel liefert

Open in Online-Editor
  \coordinate (X) at ($ (A)!.25!(B) $); %X auf AB
  \coordinate (Y) at ($ (B)!.55!(C) $); %Y auf BC
  \coordinate (Z) at ($ (C)!.75!(A) $); %Z auf CA

alt text

Permanenter link

beantwortet 28 Apr '15, 18:54

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

Vielen lieben Dank für die schnelle Antwort, genau so soll es aussehen ;)

(28 Apr '15, 19:48) embeh

@embeh Zusätzlich zur Info von @saputello: nettes Danke ist prima, den langfristigen Zweck der Archivierung mit Qualitäts-Sortierung erfüllt der Dank per Daumen-Hoch oder Abhaken, wie er schrieb. Das ist nach Jahren wichtig, für spätere Leser, denen das Lesen durch Weglassen von "Hallo" und ähnlichem sogar leichter gemacht wird (und das abgehakte steht ganz oben, der Rest ist nach Stimmenzahl (Daumen) sortiert).

(29 Apr '15, 09:58) stefan ♦♦
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:

×731
×2

gestellte Frage: 28 Apr '15, 16:43

Frage wurde gesehen: 7,494 Mal

zuletzt geändert: 29 Apr '15, 09:58