在 Latex 中绘制椭圆曲线

在 Latex 中绘制椭圆曲线

我正在尝试在我的乳胶文档中绘制椭圆曲线 secp256k1 y^2=x^3+7。

\begin{center}
\begin{tikzpicture}[domain=-4:4, samples at ={-1.769292354238631, -1.76, -1.74, ..., 2.26, 2.35, 2.7, 2.9}]
    \draw[->] (-2.2,0) -- (3.2,0) node[right] {$x$};
    \draw[->] (0,-2.2) -- (0,4.2) node[above] {$y$};
    \draw[->, color=red] plot (\x,{sqrt(\x^3+7)}) node[right] {$y^2=x^3-2x+2$};
    \draw[->, color=red] plot (\x,{-sqrt(\x^3+7)}) node[right] {}
\end{tikzpicture}
\end{center}

但这给了我一条在左侧中断的曲线。说实话,我真的不知道所有这些评论是什么意思。

如果有人能帮助我,或者有一个好的教程可以解释 Latex 中的绘图工作原理,我会很高兴!

提前致谢!祝一切顺利。

答案1

这是一个真正使用 PGFPlots 的解决方案。当您不手动设置最小 x 值时,您将获得与之前非常相似的结果domain

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
    \pgfplotsset{
        compat=1.12,
    }
\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            xmin=-2,
            xmax=4,
            ymin=-7,
            ymax=7,
            xlabel={$x$},
            ylabel={$y$},
            scale only axis,
            axis lines=middle,
            % set the minimum value to the minimum x value
            % which in this case is $-\sqrt[3]{7}$
            domain=-1.912931:3,      % <-- works for pdfLaTeX and LuaLaTeX
%            domain=-1.91293118:3,   % <-- would also work for LuaLaTeX
            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] {sqrt(x^3+7)}
                node[right] {$y^2=x^3+7$};
            \addplot [red] {-sqrt(x^3+7)};
        \end{axis}
    \end{tikzpicture}
\end{document}

该图显示了上述代码的结果

答案2

如果您不反对使用pstricks,那么绘制起来非常简单:

\documentclass[11pt,x11names, border=3pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}

\usepackage{pst-plot}
\usepackage{auto-pst-pdf}

\def\f{sqrt(x^3 + 7)}

\begin{document}

\psset{plotpoints=200, plotstyle=curve, algebraic, arrowinset=0.12}%
\begin{pspicture*}(-5.8,-6.5)(6,7)
    \psaxes[linecolor=LightSteelBlue3, tickcolor=LightSteelBlue3, ticksize=-2pt 2pt, labels =none, arrows=->, ](0,0)(-5.8,-6.5)(6,7)[$x$, -120][$y$, -135]
    \uput[dl](0,0){$ O $}\uput[dl](-1.913,0){ $ -\sqrt[3]{7} $}
    \uput[dl](0,-2.65 ){$ -\sqrt{7}$} \uput[ul](0,2.65 ){$ \sqrt{7}$}
    \psset{linewidth=1.5pt, linecolor=IndianRed3}
    \psplot{-1.91293}{5}{\f}
    \psplot{-1.91293}{5}{-\f}
\end{pspicture*}

\end{document}]

在此处输入图片描述

笔记:如果您使用开关(在 TeX Live 或 MacTeX 下)或(MiKTeX)pdflatex启动此 代码,则可以使用 进行编译。或者,删除软件包,然后使用 进行编译。-shell-escape--enable-write18auto-pst-pdfxelatex

答案3

绘制为y^2-x^3-7=0。运行xelatex

\documentclass[11pt,x11names, border=3pt]{standalone}
\usepackage{pst-func}
\begin{document}

\begin{pspicture*}(-3,-6.5)(6,7)
\psaxes[labels=none,arrows=->,linecolor=black!50](0,0)(-3,-6.5)(6,7)[$x$, -120][$y$,-135]
\uput[dl](0,0){$ O $}\uput[dl](-1.913,0){ $ -\sqrt[3]{7} $}
\uput[dl](0,-2.65 ){$ -\sqrt{7}$} \uput[ul](0,2.65 ){$ \sqrt{7}$}
\psplotImp[linewidth=2pt,linecolor=red!60,algebraic](-4,-8)(6,8){y^2 - x^3 - 7}
\end{pspicture*}

\end{document}

在此处输入图片描述

相关内容