为什么箭头装饰位置不能与协调点重合?

为什么箭头装饰位置不能与协调点重合?

我试图在三维图中的曲线上添加箭头装饰,如下所示

% !TEX TS-program = xelatex
\documentclass[UTF8]{article}

\usepackage{float}

\usepackage{amssymb}

\usepackage{tikz}
\usepackage{tkz-euclide}
\usetikzlibrary{arrows.meta}
\usetkzobj{all}
\usepackage{graphicx}

\begin{document}

\begin{figure}[H]
\begin{center}
\begin{tikzpicture}[smooth, decoration = {markings, mark = at position 0.4 with {\arrow{Stealth[round, scale = 1.5]}}}]
\centering
\draw[postaction = {decorate}] plot coordinates{(1, 3) (2, 4) (4, 1)};
\end{tikzpicture}
\end{center}
\end{figure}

\end{document}

0.2当我将装饰位置更改为或其附近的任何值时,编译器将发出以下抱怨

尺寸太大。

我分析了几种情况,似乎只要箭头装饰位置靠近任何协调点,编译器就会抱怨,在我们的例子中是(2, 4)

有解释吗?提前谢谢!

答案1

我所说的几乎相同的路径是指,有更多有害和无害的方法来绘制非常相似的曲线。

\documentclass[UTF8]{article}
\usepackage{float}

\usepackage{amssymb}

\usepackage{tikz}
\usetikzlibrary{decorations.markings,arrows.meta}
\usetikzlibrary{hobby}

\begin{document}

\begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{scope}[decoration = {markings, mark = at position 0.4 with {\arrow{Stealth[round, scale = 1.5]}}}]
 \draw[postaction = {decorate}] plot[smooth] coordinates{(1, 3) (2, 4) (4, 1)};
\end{scope} 
\begin{scope}[xshift=4cm,decoration = {markings, mark = at position 0.3 with {\arrow{Stealth[round, scale = 1.5]}}}]
\draw[postaction = {decorate}] (1, 3) to[curve through={(1.4,3.6) .. (2, 4) .. 
(2.7,3.3) .. (3.1,2.5)}] (4, 1);
\end{scope}
\end{tikzpicture}
\end{figure}
\end{document}

在此处输入图片描述

我强调我没有花太多精力来重现你的曲线。这只是为了告诉你 (a) 是的,可能会有问题,(b) 如果你采用其他方式绘制此类曲线,这些问题可能会消失。

相关内容