Tikz:组合弧线和箭头时出现问题?

Tikz:组合弧线和箭头时出现问题?

编辑时我的答案关于 Tikz 的中心圆弧,我意识到在创建箭头时可能会出现问题:圆弧部分略微扭曲。对于“正常”圆弧,此问题会消失。

\documentclass{standalone} 
\usepackage{tikz}

\def\centerarc[#1](#2)(#3:#4:#5);%
%Syntax: [draw options] (center) (initial angle:final angle:radius)
    {
    \draw[#1]([shift=(#3:#5)]#2) arc (#3:#4:#5);
    }

\begin{document}
\begin{tikzpicture}[>=stealth]
\draw[help lines] (0,0) grid (2,2);
\centerarc[thick,<->,blue](1,1)(70:195:1cm);
\centerarc[thick,blue](1,1)(-90:25:1cm);
\draw[thin,dashed,blue] (1,1) circle (1cm);
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

更好的渲染提供了使用 tikz 库arrows.meta的帮助bending

\documentclass[tikz, margin=3.141592mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,bending} % <--- added

\def\centerarc[#1](#2)(#3:#4:#5);%
%Syntax: [draw options] (center) (initial angle:final angle:radius)
    {
    \draw[#1]([shift=(#3:#5)]#2) arc (#3:#4:#5);
    }

\begin{document}
\begin{tikzpicture}[>=stealth]
\draw[help lines] (0,0) grid (2,2);
\centerarc[thick,<->, semitransparent,red](1,1)(70:195:1cm);
\centerarc[thick,blue](1,1)(-90:25:1cm);
\draw[thin,dashed,blue] (1,1) circle (1cm);
\end{tikzpicture}
\end{document}

在此处输入图片描述

来自 tikz 和 pgf 手册:

  • “备注:arrows 和 arrows.spaced 库已被弃用。请改用/另外使用 arrows.meta,它允许您执行旧库提供的所有功能以及更多功能...“, 和
  • “在路径中添加箭头时,一个常见的陷阱应该从一开始就解决:当 TikZ 将箭头定位在起点时,对于其所有计算,它只考虑添加箭头的子路径的第一段。这个“第一段”是路径的第一个直线或曲线操作(或圆弧、抛物线或类似操作);但请注意,像蛇形这样的装饰会在路径中添加许多小线段。重要的一点是,如果这个第一段非常小,即小于箭头本身,则可能会产生奇怪的结果。”

相关内容