problema com desenhar uma elipse

problema com desenhar uma elipse

Eu estava tentando desenhar uma parte de uma elipse usando \pgfpatharcto. Porém, quando tentei comparar com a elipse completa original, houve uma pequena diferença. Anexo o código e também o 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}

insira a descrição da imagem aqui

Responder1

Também é possível desenhar duas vezes a elipse, mas dentro de um clipping scope pela 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}

insira a descrição da imagem aqui

Responder2

Você pode querer tentarMetapostpara fazer isso. Possui uma subpathsintaxe útil que permite desenhar segmentos de um caminho salvo. Ajuntar com lualatex.

insira a descrição da imagem aqui

\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 fornece um conceito de “tempo” ao longo de um caminho. Em um fullcirclecaminho, existem 8 pontos de tempo começando com o ponto 0 às “3 horas”, por assim dizer.

Então subpath (0,2) of cseria das 3 horas ao meio-dia. Você também pode usar números fracionários: subpath (2.718, 3.1415) of c.

E como mostrado no meu exemplo você pode usar números negativos para se referir a pontos “antes” do ponto 0.

informação relacionada