problema con dibujar una elipse

problema con dibujar una elipse

Estaba intentando dibujar una parte de una elipse usando \pgfpatharcto. Sin embargo, cuando intenté comparar con la elipse completa original, hay una pequeña diferencia. Adjunto el código así como el resultado.

\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}

ingrese la descripción de la imagen aquí

Respuesta1

También es posible dibujar dos veces la elipse pero dentro de un ámbito de recorte la segunda vez:

\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}

ingrese la descripción de la imagen aquí

Respuesta2

Quizás quieras probarMetapostpara hacer esto. Tiene una subpathsintaxis útil que te permite dibujar segmentos de una ruta guardada. Compilar con lualatex.

ingrese la descripción de la imagen aquí

\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 proporciona un concepto de "tiempo" a lo largo de un camino. En un fullcirclecamino, hay 8 puntos de tiempo que comienzan con el punto 0 a las "3 en punto", por así decirlo.

Así subpath (0,2) of csería desde las tres hasta el mediodía. También puedes usar números fraccionarios: subpath (2.718, 3.1415) of c.

Y como se muestra en mi ejemplo, puedes usar números negativos para referirte a puntos "antes" del punto 0.

información relacionada