Problem beim Zeichnen einer Ellipse

Problem beim Zeichnen einer Ellipse

Ich habe versucht, einen Teil einer Ellipse zu zeichnen \pgfpatharcto. Beim Vergleich mit der ursprünglichen vollständigen Ellipse ist jedoch ein kleiner Unterschied festzustellen. Ich füge den Code sowie das Ergebnis bei.

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}

\draw (2.5cm,0) ellipse (3.5cm and 3.8436cm);

\pgfsetstrokecolor{red}
\pgfmoveto{\pgfpoint{2.841cm}{3.8284cm}}
\pgfpatharcto{3.5cm}{3.8436cm}{0}{0}{0}{\pgfpoint{2.841cm}{-3.8284cm}}\pgfusepath{stroke};

\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Antwort1

Es ist auch möglich, die Ellipse zweimal zu zeichnen, beim zweiten Mal jedoch innerhalb eines Clipping-Bereichs:

\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}

\draw (2.5cm,0) ellipse (3.5cm and 3.8436cm);

\begin{scope}
\clip (2.5cm,0)--++(80:3.9) arc(80:-80:3.9)--cycle;
\draw[red] (2.5cm,0) ellipse (3.5cm and 3.8436cm);
\end{scope}

\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Vielleicht möchten Sie versuchenMetapostum dies zu tun. Es hat eine nützliche subpathSyntax, mit der Sie Segmente eines gespeicherten Pfads zeichnen können. Kompilieren Sie mit lualatex.

Bildbeschreibung hier eingeben

\RequirePackage{luatex85}
\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
    path e;
    e = fullcircle xscaled 3.5cm yscaled 3.8436cm;
    draw e withpen pencircle scaled 2 withcolor .8 white;
    draw subpath (-2,2) of e withcolor 2/3 red;
endfig;
\end{mplibcode}
\end{document}

Metapost bietet ein Konzept der „Zeit“ entlang eines Pfads. Auf einem fullcirclePfad gibt es 8 Zeitpunkte, beginnend mit Punkt 0 um „3 Uhr“.

Das subpath (0,2) of cwäre also von 3 Uhr bis Mittag. Sie können auch Bruchzahlen verwenden: subpath (2.718, 3.1415) of c.

Und wie in meinem Beispiel gezeigt, können Sie negative Zahlen verwenden, um sich auf Punkte „vor“ Punkt 0 zu beziehen.

verwandte Informationen