绘制椭圆曲线时的间隙

绘制椭圆曲线时的间隙

我尝试用以下代码绘制椭圆曲线:

\documentclass{article}

\usepackage{amssymb}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}

\begin{figure}[htp]
    \centering
    \begin{tikzpicture}
        \begin{axis}[
            xmin=-2, xmax=2,
            ymin=-2, ymax=2,
            axis lines=center,
            xlabel={$x$},
            ylabel={$y$},
            samples=200]
            \addplot [blue] {sqrt(x^3 - x + 1};
            \addplot [blue] {-sqrt(x^3 - x + 1)};
        \end{axis}
    \end{tikzpicture}
    \caption{Elliptische Kurve in der Form $x^3-x+1$ im $\mathbb{R}2$}
    \label{fig:Elliptische Kurve}
\end{figure} 

\end{document}

剧情截图

我的问题是情节中存在明显的差距。 这个问题有解决方案吗?

答案1

改编

  • 用于samples at定义应计算的具体值和不同区域的不同采样率。

代码

\documentclass{article}

\usepackage{amssymb}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}

\begin{figure}[htp]
    \centering
    \begin{tikzpicture}
        \begin{axis}[
            xmin=-2, xmax=2,
            ymin=-2, ymax=2,
            axis lines=center,
            xlabel={$x$},
            ylabel={$y$},
            samples at={-1.3247, -1.32, -1.31, ..., -1.1, -1.05, -1, ..., 2.0},
            ]
            \addplot [blue] {sqrt(x^3 - x + 1};
            \addplot [blue] {-sqrt(x^3 - x + 1)};
        \end{axis}
    \end{tikzpicture}
    \caption{Elliptische Kurve in der Form $x^3-x+1$ im $\mathbb{R}2$}
    \label{fig:Elliptische Kurve}
\end{figure}

\end{document}

结果

在此处输入图片描述

答案2

通过短迭代法,我们发现三次方程的(非负)分支定义为 x ≥ −1.3247179572…

使用中提出的方法https://tex.stackexchange.com/a/639053/4427

\documentclass{article}
\usepackage{pgfplots}
\usepackage{pgfmath-xfp}

\pgfplotsset{compat=1.18}

\begin{document}

\begin{tikzpicture}
  \pgfmxfpdeclarefunction{cubic}{1}{sqrt((#1)^3-(#1)+1)}
  \begin{axis}[
    xmin=-2,
    xmax=2,
    ymin=-2,
    ymax=2,
    xlabel={$x$},
    ylabel={$y$},
    scale only axis,
    axis lines=middle,
    domain=-1.3247179572:1.5,
    samples=200,
    smooth,
    % to avoid that the "plot node" is clipped (partially)
    clip=false,
    % use same unit vectors on the axis
    axis equal image=true,
  ]
    \addplot [red] {cubic(x)};
    \addplot [red] {-cubic(x)};
  \end{axis}
\end{tikzpicture}

\end{document}

没有空隙。

在此处输入图片描述

相关内容