Tikz 在绘制极坐标函数时得到锯齿状线

Tikz 在绘制极坐标函数时得到锯齿状线

我正在使用的某个函数似乎在 tikz 中有一个分段表示?

我尝试了更多的采样点,但情况并没有改善。

我的绘图中出现了锯齿状边缘。我不知道为什么。它应该像这样平滑沃尔夫拉姆阿尔法

光滑的

但相反,它是锯齿状的。

但是对于 x 大于 0.5*pi 的值,它是平滑的。我可以在 pgf 中设置一些选项以不近似对数和三角函数吗?

锯齿状

\documentclass[tikz]{standalone}
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{arrows,automata}
\usepackage[latin1]{inputenc}
\begin{document}
\begin{tikzpicture}

  \draw [->,thick] (-1,0) -- (5,0) node[right] {$x$};
  \draw [->,thick] (0,-2) -- (0,2) node[above] {$y$};
  \draw[domain= 0.01*pi:0.99*pi,scale=1.5,samples=600] plot ({deg(\x)}:{-1*ln(tan(\x/2 r))});
  
\end{tikzpicture}

\end{document}

答案1

tikz 中默认的函数实现ln(实际上pgfmath)比较基础,不够准确。 只安装浮点计算ln将得到更平滑的计算结果,从而解决问题。

引用Henri Menke 的评论

需要注意的是,这fpu实际上并没有给你更高的精度(即小数位),但显著增加了可访问数字的范围。

请注意,该选项/pgf/fpu/install only自 pgf-tikz v3.1.6 起可用。

\documentclass[tikz]{standalone}
\usetikzlibrary{arrows.meta, fpu}

\begin{document}
\begin{tikzpicture}
  \tikzset{/pgf/fpu/install only=ln}
  \draw [->,thick] (-1,0) -- (5,0) node[right] {$x$};
  \draw [->,thick] (0,-2) -- (0,2) node[above] {$y$};
  \draw[domain= 0.01*pi:0.99*pi,scale=1.5,samples=600] 
    plot ({deg(\x)}:{-1*ln(tan(\x/2 r))});
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容